1

我有一个动物园元素列表。列表如下所示:

> 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))

非常感谢!

4

1 回答 1

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
于 2013-10-24T18:58:53.303 回答