使用前一行的值进行余额计算

时间:2016-05-10 00:05:40

标签: r dataframe running-total

表I:

DT <- data.frame(A=1:5*10, B=1:5*-1)
DT
   A  B
1 10 -1
2 20 -2
3 30 -3
4 40 -4
5 50 -5

表I我想:

C = A + B + C(N-1)

   A  B  C
1 10 -1  9
2 20 -2 27
3 30 -3 54
4 40 -4 90
5 50 -5 135

我在下面引用了链接并尝试申请但失败了:

Use a value from the previous row in an R data.table calculation

DT$C<-DT$A+DT$B+shift(DT$C)

2 个答案:

答案 0 :(得分:2)

如果我没有遗漏某些东西,这将解决问题:

DT <- data.table(A=1:5*10, B=1:5*-1)
DT[, C := cumsum(A + B)]

答案 1 :(得分:0)

使用dplyr

library(dplyr)
DT %>% 
     mutate(C= cumsum(A+B))
#   A  B   C
#1 10 -1   9
#2 20 -2  27
#3 30 -3  54
#4 40 -4  90
#5 50 -5 135