Summing list with NA elements
Inelegant, but this is one way:
Reduce(function(e1, e2){e1[is.na(e1)] <- 0; e2[is.na(e2)] <- 0; (e1 + e2)}, x)
I.e., set the NAs to 0 before adding in the reduce function.
Michael
On Fri, May 4, 2012 at 5:19 AM, Evgenia <evgts at aueb.gr> wrote:
I have a list ( in my real problem ?a double list y[[1:24]][[1:15]] but I think the solution would be the same) m <- matrix(1:3, 3, 3) x <- list(m, m+3, m+6) ?and as I want to have the sum of elements I use Reduce(`+`, x) having as result
Reduce(`+`, x)
? ? [,1] [,2] [,3] [1,] ? 12 ? 12 ? 12 [2,] ? 15 ? 15 ? 15 [3,] ? 18 ? 18 ? 18 How can I take the sum of the list elements ignoring NA element For example if I have x[[1]][1]<-NA Then I want to have ? ? [,1] [,2] [,3] [1,] ?11 ? 12 ? 12 [2,] ? 15 ? 15 ? 15 [3,] ? 18 ? 18 ? 18 instead of
Reduce(`+`, x)
? ? [,1] [,2] [,3] [1,] ? NA ? 12 ? 12 [2,] ? 15 ? 15 ? 15 [3,] ? 18 ? 18 ? 18 Thanks in advance Evgenia -- View this message in context: http://r.789695.n4.nabble.com/Summing-list-with-NA-elements-tp4608167.html Sent from the R help mailing list archive at Nabble.com.
______________________________________________ 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.