我有一个动物园元素列表。列表如下所示:
> str(a)
List of 4
$ :‘zoo’ series from 2013-08-08 to 2013-09-09
Data: num [1:33] 0 0 0 0 5.62 ...
Index: POSIXct[1:33], format: "2013-08-08" "2013-08-09" "2013-08-10" "2013-08-11" ...
$ :‘zoo’ series from 2013-08-08 to 2013-09-09
Data: num [1:33] 0 0 0 0 0 ...
Index: POSIXct[1:33], format: "2013-08-08" "2013-08-09" "2013-08-10" "2013-08-11" ...
$ :‘zoo’ series from 2013-08-08 to 2013-09-09
Data: num [1:33] 7.4 10.7 0 0 0 ...
Index: POSIXct[1:33], format: "2013-08-08" "2013-08-09" "2013-08-10" "2013-08-11" ...
$ :‘zoo’ series from 2013-08-08 to 2013-09-09
Data: num [1:33] 0 588 0 0 0 ...
Index: POSIXct[1:33], format: "2013-08-08" "2013-08-09" "2013-08-10" "2013-08-11" ...
现在,我可以通过这样做来绘制动物园元素的总和:
plot(z <- a[[1]] + a[[2]] + a[[3]] + a[[4]])
我想知道是否有一种简单的方法可以将列表中的所有元素相加。 像
这样的东西# PYSEUDO CODE NOT WORKING!
plot(z <- foo(a))
非常感谢!
答案 0 :(得分:5)
我不确定我是否完全明白,但我认为您正在寻找Reduce()
,如果没有,请提供示例数据和您想要的结果。考虑这个例子:
> a <- list(rnorm(5),rnorm(5),rnorm(5),rnorm(5))
> a[[1]] + a[[2]] + a[[3]] + a[[4]]
[1] 1.06310824 -0.20176594 -2.09269676 0.01593767 -1.30949132
> Reduce("+",a)
[1] 1.06310824 -0.20176594 -2.09269676 0.01593767 -1.30949132