在R中的列表中添加元素

B.M*_*.W. 1 r list zoo

我有一个动物园元素列表.列表看起来像这样:

> 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" ...
Run Code Online (Sandbox Code Playgroud)

现在,我可以这样绘制这些动物园元素的总和:

plot(z <- a[[1]] + a[[2]] + a[[3]] + a[[4]])
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一个简单的方法来添加列表中的所有元素.就像是

# PYSEUDO CODE NOT WORKING!
plot(z <- foo(a))
Run Code Online (Sandbox Code Playgroud)

非常感谢!

Dav*_*vid 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
Run Code Online (Sandbox Code Playgroud)