[R] Applying function to elements of matrices in a list

statmobile statmobile at gmail.com
Thu Nov 25 16:06:38 CET 2010

On 11/25/2010 09:44 AM, Dimitris Rizopoulos wrote:
> try this:
> Reduce("+", x) / length(x)

Thanks Dimitris, that's very slick, I was unaware of this Reduce function.

The issue, is that I actually wanted to do a trimmed mean, and if things 
prove possible even the median.

Is there a way to apply a generic function in the manner I described?


> Best,
> Dimitris
> On 11/25/2010 3:42 PM, statmobile wrote:
>> Hello R-help,
>> Please cc me on all responses, as I only receive summary emails from
>> this list.
>> I'm wondering if anybody has any tips on how to accomplish this
>> efficiently. I have a list of matrices, and I'm trying to get the mean
>> of the [i,j]'th element of each matrix in a list.
>> So if I have a list of matrices, say
>> x <- list(a=matrix(rnorm(4),nrow=2),b=matrix(rnorm(4),nrow=2))
>> How would I get a 2x2 matrix, where the i,j'th element would be the mean
>> across the the list of each of the i,j'th elements in the list? That is,
>> where the [1,2] element would be the average of a[1,2] and b[1,2].
>> Of course my list and matrices are much larger, and I was hoping there
>> would be some trick with lapply that I may be missing here.
>> Thanks,
>> Brian
>> ______________________________________________
>> 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