one solution is to set NAs to 0, e.g.,
m <- matrix(1:3, 3, 3)
x <- list(m, m+3, m+6)
x[[1]][1] <- NA
x. <- lapply(x, function (x) {x[is.na(x)] <- 0; x} )
Reduce("+", x.)
I hope it helps.
Best,
Dimitris
On 5/4/2012 11:19 AM, Evgenia wrote:
I have a list ( in my real problem a double list y
I agree with you. I used this "trick" to take the desired results but I
posted wondering If there was any other solution.
Thanks
Evgenia
--
View this message in context:
http://r.789695.n4.nabble.com/Summing-list-with-NA-elements-tp4608167p4608955.html
Sent from the R help mailing list arc
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 wrote:
> I have a list ( in my real problem a double list y[[1:24]][[1:15
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
[
4 matches
Mail list logo