[R] Summing up matrices in a list
Gabor Grothendieck
ggrothendieck at myway.com
Wed Mar 16 17:39:47 CET 2005
Vicky Landsman <msvika <at> mscc.huji.ac.il> writes:
:
: Dear all,
: I think that my question is very simple but I failed to solve it.
: I have a list which elements are matrices like this:
:
: >mylist
: [[1]]
: [,1] [,2] [,3]
: [1,] 1 3 5
: [2,] 2 4 6
:
: [[2]]
: [,1] [,2] [,3]
: [1,] 7 9 11
: [2,] 8 10 12
:
: I'd like to create a matrix M<-mylist[[1]]+mylist[[2]]
: [,1] [,2] [,3]
: [1,] 8 12 16
: [2,] 10 14 18
:
: Is there a way to create M without looping?
: Thanks a lot,
: Vicky Landsman.
If there are n3 matrices each of dimension n1 x n2 then we can
create an n1 x n2 x n3 array and apply sum over it:
# get dimensions
n1xn2 <- dim(mylist[[1]])
n3 <- length(mylist)
# create 3d array and sum
arr <- array(unlist(mylist), c(n1xn2, n3))
apply(arr, 1:2, sum)
More information about the R-help
mailing list