R第二栏中的累积和与偏移量

时间:2018-09-23 20:37:35

标签: r cumsum

这些是我栏中的值

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

任何实现此目标的建议都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

我们可以先做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))