[R] Summing list with NA elements
R. Michael Weylandt
michael.weylandt at gmail.com
Fri May 4 13:37:54 CEST 2012
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.
More information about the R-help
mailing list