[R] add/subtract matrices, ignoring NA or missing values
Gabor Grothendieck
ggrothendieck at gmail.com
Tue Jan 29 04:09:25 CET 2008
Perhaps you could explain the motivation behind this. At any rate here
are three different solutions:
ifelse(is.na(m1), ifelse(is.na(m2), NA, m2), ifelse(is.na(m2), m1, m1 + m2))
apply(array(c(m1, m2), c(2,2,2)), 1:2, function(x) sum(c(na.omit(x), NA)[1]))
na.m1 <- is.na(m1)
na.m2 <- is.na(m2)
ifelse(na.m1 & na.m2, NA, ifelse(na.m1, 0, m1) + ifelse(na.m2, 0, m2))
On Jan 28, 2008 9:34 PM, Ng Stanley <stanleyngkl at gmail.com> wrote:
> Hi,
>
> For example, given two 2x2 matrices m1 and m2. I would like to add/subtract
> element by element
>
> > m1
> [,1] [,2]
> [1,] NA NA
> [2,] 1 2
>
> > m2
> [,1] [,2]
> [1,] 1 NA
> [2,] NA 2
>
> > m1 + m2
> [,1] [,2]
> [1,] NA NA
> [2,] NA 4
>
> How can I ignore the NA, and get this ? Hope the solution can be extended to
> subtract and modulo also.
>
> [,1] [,2]
> [1,] 1 NA
> [2,] 1 4
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
>
More information about the R-help
mailing list