R中总子集的每个特定列的总和

时间:2015-08-05 01:30:01

标签: r

我刚开始学习R,我想用它来模拟期权定价。 我写了一个函数来创建1000个data.frames,如下所示。 我想要了解" yBaseCcy"在每个"时期" t,无论如何要这样做?

[[9]]
  Period ccyPairs        x    K     P        IV yBaseCcy yTermCcy LyBaseCcy
1      1   USDZAR 13.03787 12.8 0e+00 0.0000000     0.00      0.0         0
2      2   USDZAR 12.52903 12.8 1e+06 0.2709659 21627.04 270965.9         0

[[10]]
  Period ccyPairs        x    K     P        IV yBaseCcy yTermCcy LyBaseCcy
1      1   USDZAR 12.09013 12.8 0e+00 0.7098709        0        0         0
2      2   USDZAR 12.01183 12.8 1e+06 0.0000000        0        0         0

1 个答案:

答案 0 :(得分:2)

如果所有数据帧具有相同的结构(相同的行数,每行的行数相同),那么您可以从每个数据中提取感兴趣的矢量,将它们全部加起来,然后除以总数:

Reduce("+", lapply(dat, function(x) x$yBaseCcy)) / length(dat)
# [1] 3 4

示例数据:

(dat <- list(data.frame(Period=1:2, yBaseCcy=1:2), data.frame(Period=1:2, yBaseCcy=3:4), data.frame(Period=1:2, yBaseCcy=5:6)))
# [[1]]
#   Period yBaseCcy
# 1      1        1
# 2      2        2
# 
# [[2]]
#   Period yBaseCcy
# 1      1        3
# 2      2        4
# 
# [[3]]
#   Period yBaseCcy
# 1      1        5
# 2      2        6