On Mar 19, 2009, at 9:01 PM, Altaweel, Mark R. wrote:

Hi,

I am trying to perform various functions on a list with a number of elements. For example. I would like to take the mean of different variable values in the entire list. As an example, say I have a list with 1000 elements and variables called Id and Tick. What I would like to do is take the mean of a variable called X for each Tick in the data element. So, there can be say 1 to 600 tick values per element in a list, that would mean I would like to find the 600 mean values for each of the ticks values in the 1000 elements.


I tried a simple attempt below, but I am sure it is way off as it didn't produce what I expected:

//res=res[[1..1000]]
weightX<-sapply(res, function(.df) {mean(.df$X[.df$Id>0 & .df $Tick<601])})

Basically, I was trying to get the mean for all tick values less than 600 that have an Id variable greater than 0. So, since there are 600 ticks I would like to return a result with 600 mean values, for each of the 600 ticks, that factors all the 1000 occurrences of each tick, starting from 1.

I hope this is clear. Thanks in advance.

It's not particularly clear, but the first part at least sounds as though you should be looking at tapply rather than sapply. tapply works with irregular tables defined by a factor. It might be clearer if you produced the results of str() on your "list". I find myself wondering if it is a dataframe or not.

tapply(df$X, df$Tick, mean)    # might be what you are seeking.

If not, then try to build a simple example as the posting guide and this little message suggest:

PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to