[R] get means of elements of 5 matrices in a list

David Freedman 3.14david at gmail.com
Tue Apr 27 17:05:24 CEST 2010


I've got a list of 5 matrices that are each 5 x 6.  I'd like to end up with a
5 x 6 matrix that contains the mean value of the 5 original matrices.  I can
do this by brute force, but there must be a better way than making each
matrix into a vector and then remaking a matrix

thanks very much for any help
david freedman

ll=list(structure(c(9.7, 17.6, 20.8, 24.1, 33.8, 14.5, 25.7, 29.8, 
33.6, 44.8, 21.8, 32.6, 37.5, 40.9, 53.3, 16.7, 26.1, 29.5, 32.7, 
42.6, 26.2, 34.3, 37, 39.8, 47.1, 31.9, 40.3, 43.3, 46.2, 54.1
), .Dim = 5:6), structure(c(9.4, 17.7, 20.7, 24.1, 33.7, 14.5, 
25.7, 29.8, 33.6, 44.8, 21.8, 32.7, 37.5, 40.9, 53.1, 16, 26, 
29.5, 32.7, 42.7, 25.6, 34.1, 37, 39.8, 47.1, 31.9, 40.3, 43.3, 
46.1, 54.1), .Dim = 5:6), structure(c(9.6, 17.7, 20.8, 24.4, 
34.3, 14.5, 25.7, 29.8, 33.6, 44.8, 21.8, 32.6, 37.5, 40.9, 53.2, 
16.7, 26.1, 29.5, 32.8, 42.8, 26.2, 34.2, 36.8, 39.9, 47.1, 31.9, 
40.3, 43.3, 46.1, 54.8), .Dim = 5:6), structure(c(9.7, 17.6, 
20.7, 24.1, 33.8, 14.5, 25.7, 29.8, 33.6, 44.8, 21.8, 32.6, 37.5, 
41.1, 52.6, 16.7, 26.1, 29.5, 32.8, 42.8, 26.1, 34.3, 37, 40, 
47.1, 31.9, 40.3, 43.3, 46.2, 54.9), .Dim = 5:6), structure(c(8.6, 
17.6, 20.7, 24.1, 33.8, 14.5, 25.6, 29.8, 33.6, 44.8, 21.8, 32.6, 
37.5, 40.9, 52.5, 16, 26, 29.4, 32.8, 42.8, 25.6, 34.2, 37, 40.1, 
47.1, 31.9, 40.3, 43.1, 46.1, 54.1), .Dim = 5:6))

ll
x=rbind(as.vector(ll[[1]]),as.vector(ll[[2]]),as.vector(ll[[3]]),as.vector(ll[[4]]),as.vector(ll[[5]]));
x
x2=apply(x,2,mean); matrix(x2,byrow=F,nrow=5); 

-- 
View this message in context: http://r.789695.n4.nabble.com/get-means-of-elements-of-5-matrices-in-a-list-tp2067722p2067722.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list