On Tue, Mar 15, 2011 at 1:17 PM, hihi <v.p.m...@freemail.hu> wrote: > Hi All, > is there any effiective and dense/compact method to calculate the mean of a > list of - of course coincident - matrices on an element by element basis? The > resulting matrix' [i, j]-th element is the mean of the list's matrices' [i, > j]-th elements respectively... > Iterating by for statement is quite straightforward, but I am seeking for a > more elegant solution, and my attempt with the apply family of functions did > not work.
Hi, in the package WGCNA (I'm the maintainer) we have functions pmean, pmedian, pquantile etc. if you have your list of matrices in the variable matList, you should be able to do something like do.call(pmean, matList) Example: library(WGCNA) a = matrix(c(1:9), 3, 3); b = a + sample(c(-1, 1), 9, replace = TRUE); matList = list(a=a, b=b); do.call(pmean, matList) results: > a [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 > b [,1] [,2] [,3] [1,] 0 5 8 [2,] 1 4 9 [3,] 4 7 10 > do.call(pmean, matList) [,1] [,2] [,3] [1,] 0.5 4.5 7.5 [2,] 1.5 4.5 8.5 [3,] 3.5 6.5 9.5 HTH, Peter ______________________________________________ R-help@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.