我有一个列的值,我想用第一列的聚合值创建另一个列。
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