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 <[EMAIL PROTECTED]> 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@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.