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.

Reply via email to