Dear Shubha, This problem was coincidentally used as an illustration in the Help Desk column in the current R News.
Actually, the brute-force method of using a loop to accumulate the sum works quite well; a more elegant alternative, recently brought to my attention by Kurt Hornik, uses the Reduce() function. Here's an example: > matrices <- vector(mode="list", length=10000) > for (i in 1:10000) + matrices[[i]] <- matrix(rnorm(10000), 100, 100) > > system.time({ + S <- matrix(0, 100, 100) + for (i in 1:10000) S <- S + matrices[[i]] + }) user system elapsed 0.59 0.00 0.59 > > system.time(S1 <- Reduce("+", matrices)) user system elapsed 0.60 0.00 0.59 > > range(S1 - S) [1] 0 0 I hope this helps, John ------------------------------ John Fox, Professor Department of Sociology McMaster University Hamilton, Ontario, Canada web: socserv.mcmaster.ca/jfox > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf Of Shubha Vishwanath Karanth > Sent: June-04-08 10:54 AM > To: [EMAIL PROTECTED] > Subject: [R] sum of unknown number of matrices > > Hi R, > > > > I have a list of matrices. I need to get the sum of all the matrices in > the list. > > > > Example: > > a=b=c=d=matrix(1:4,2,2) > > l=list(a,b,c,d) > > > > > > I need: > > > a+b+c+d > > [,1] [,2] > > [1,] 4 12 > > [2,] 8 16 > > > > Something like do.call("+",l) is not working...why is this? > > > > > > I may not be knowing the number of matrices in the list... > > > > Thanks, Shubha > > > > This e-mail may contain confidential and/or privileged i...{{dropped:13}} > > ______________________________________________ > 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. ______________________________________________ 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.