[R] Odp: means across list of data frames

Petr PIKAL petr.pikal at precheza.cz
Tue Sep 20 18:04:56 CEST 2011


Hi

> 
> I have a list of data frames like the following:
> 
> set.seed(123)
> a<- data.frame(x=runif(10), y = runif(10), sample = seq(1,10))
> b<- data.frame(x=runif(10), y = runif(10), sample = seq(1,10))
> L<- list(a,b)
> 
> All data frames in the list have the same dimensions.  I need to 
calculate
> the sample means for x and y.  The real data are lists of several 
thousand
> quite large dataframes, so I need something that is pretty fast.  Here 
is
> what I have so far:
> 
> y<- rowMeans(sapply(L,'[[','y'))
> x<- rowMeans(sapply(L,'[[','x'))
> 
> this works great, but I'm only able to get the sample means for one 
column
> at a time.  Is there a way to automate things a bit so that I can get 
the
> sample means for several columns with one call?

I am not sure if it is suitable for you but plyr package can be used. 
Maybe somebody could do better

aaply(laply(L, as.matrix), 3, colMeans)

shall give you an array with rows of means for columns of your data 
frames.

Regards
Petr



> 
> Thanks for any suggestions,
> 
> Matthew
> 
>    [[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at r-project.org 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.



More information about the R-help mailing list