用r中另一列的聚合值创建一个列



我有一个列的值,我想用第一列的聚合值创建另一个列。

df <- c(x = 0, y = 0)
df$x <- c(1:5)
df$y <- df$x + lag(df$y, default = 0)
> df
$x
[1] 1 2 3 4 5
$y
[1] 1 2 3 4 5

我的期望是y的值等于:1 3 6 10 15。我做错了什么?

我们可能需要cumsum

df$y <- cumsum(df$x)

accumulate

library(purrr)
accumulate(df$x, `+`)
[1]  1  3  6 10 15

最新更新