[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?

Thanks,
Brian

>
>
> 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