[R] Adding elements in an array where I have missing data.

John Kane jrkrideau at yahoo.ca
Tue May 2 13:46:50 CEST 2006


--- Gabor Grothendieck <ggrothendieck at gmail.com>
wrote:

> Here are a few alternatives:
> 
> replace(a, is.na(a), 0) + b
> 
> ifelse(is.na(a), 0, a) + b
> 
> mapply(sum, a, b, MoreArgs = list(na.rm = TRUE))
>


Excellent, thanks Gabor.  I have gotten some great
answers. I had been thinking of using an ifelse but
nothing as sucinct as this and the mapply was way
beyond me. I didn't even know enough to look it up.

> On 5/1/06, John Kane <jrkrideau at yahoo.ca> wrote:
> > This is a simple question but I cannot seem to
> find
> > the answer.
> > I have two vectors but with missing data and I
> want to
> > add them together with
> > the NA's being ignored.
> >
> > Clearly I need to get the NA ignored.  na.action?
> >
> > I have done some searching and cannot get
> na.action to
> > help.
> > This must be a common enough issue that the answer
> is
> > staring me in the face
> > but I just don't see it.
> >
> > Simple example
> > a <- c(2, NA, 3)
> > b <- c(3,4, 5)
> >
> > What I want is
> > c <- a + b where
> > c  is ( 5 , 4 ,8)
> >
> > However I get
> > c is (5,NA, 8)
> >
> > What am I missing?  Or do I somehow need to recode
> the
> > NA's as missing?
> >
> > Thanks
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
> >
>




More information about the R-help mailing list