R 第二列和偏移量的累积和

R Cummulative sum in second column and offset

这些是我专栏中的值

Col1
0.83
2.01
1.74
2.26
1.85

我正在尝试创建第二列,它是 Col1 的累积和值的一种形式,预期结果应该如下所示

Col1    Col2
0.83    -
2.01    7.86
1.74    5.85
2.26    4.11
1.85    1.85

这是 Col2 值背后的逻辑

7.86 <-  2.01 + 1.74 + 2.26 +  1.85
5.85 <-  1.74 + 2.26 +  1.85
4.11 <-  2.26 +  1.85
1.85 <-  1.85

非常感谢任何有关实现此目标的建议。

我们可以做一个 rev 然后做 cumsum

c(NA, tail(rev(cumsum(rev(df$Col1))), -1))
#[1]   NA 7.86 5.85 4.11 1.85

数据

df <- structure(list(Col1 = c(0.83, 2.01, 1.74, 2.26, 1.85)),
  class = "data.frame", row.names = c(NA, 
 -5L))