Hi: It's certainly fast (0.97s for 10000 reps on my box), but doesn't replacement by zero affect the denominator of the sum, thereby deflating the means (assuming the contents of the matrices are nonnegative or NA)?
Dennis On Tue, Sep 14, 2010 at 5:28 AM, Henrique Dallazuanna <www...@gmail.com>wrote: > You can try this also: > > Reduce('+', lapply(mymats, function(x)replace(x, is.na(x), 0))) > > > On Sun, Sep 12, 2010 at 10:36 PM, Gregory Ryslik <rsa...@comcast.net> > wrote: > > > Hi Everyone, > > > > Thanks to everyone for their help. With your suggestions and some poking > > around, the following works for what I need. It basically adds all the > > matrices elementwise, and adds nothing if the element is NA. Thanks > again! > > Code below: > > > > > > ****************************** > > mymats <- vector('list', 5) > > set.seed(246) > > > > # Generate a list of five 3 x 3 matrices > > for(i in 1:5) mymats[[i]] <- matrix(sample(1:9), nrow = 3) > > > > mymats[[5]][1,1]<-NA > > mymats[[4]][2,2]<-NA > > mymats > > > > matrixadder<-function(u,v){ > > na.u<-is.na(u) > > na.v<-is.na(v) > > ifelse(na.u & na.v, NA, ifelse(na.u, 0, u)+ ifelse(na.v,0,v)) > > } > > > > Reduce('matrixadder',mymats) > > ****************************** > > > > Cheers, > > Greg > > > > > > > > > > On Sep 12, 2010, at 8:33 PM, Ben Bolker wrote: > > > > > My next suggestion (I don't have time to work out or test an example > > > at the moment): > > > > > > library(abind) > > > tmparr <- abind(m1,m2,m3,...,along=3) > > > OR > > > tmparr <- do.call(c(matlist,list(along=3))) > > > apply(tmparr,c(1,2),mean,na.rm=TRUE) > > > > > > or something along those lines. > > > > > > ______________________________________________ > > > 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. > > > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > 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. > > > > > > -- > Henrique Dallazuanna > Curitiba-Paraná-Brasil > 25° 25' 40" S 49° 16' 22" O > > [[alternative HTML version deleted]] > > > ______________________________________________ > 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. > > [[alternative HTML version deleted]]
______________________________________________ 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.