用于对以上行求和的矢量化 R 函数

Vectorized R function for summing above rows

我没有合适的语言在 R 文档或 Google 上查找,所以我希望这里有人可以帮助我。假设我有一个包含两列的数据框。一列是独立观察的向量,我希望另一列是上面各行中所有观察的总和。我知道我可以用 *pply 函数做到这一点,例如:

> df <- data.frame(x=runif(5), y=0)
> df
          x y
1 0.4068298 0
2 0.9352350 0
3 0.3918638 0
4 0.2925178 0
5 0.1949071 0
> df$y <- sapply(X = 1:5, FUN = function(i) sum(df$x[1:i]))
> df
          x         y
1 0.4068298 0.4068298
2 0.9352350 1.3420647
3 0.3918638 1.7339285
4 0.2925178 2.0264462
5 0.1949071 2.2213534

但是由于随着观察结果的更新我必须重复执行此操作,我认为如果我使用矢量化函数,代码会更快、更可靠并且更简洁。有这样的吗?

要应用 Frank 的评论:

df$y <- cumsum(df$x)