表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
我想要的表格:
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
我有以下链接的参考,并尝试申请,但失败:
在R数据表计算中使用前一行的值
DT$C<-DT$A+DT$B+shift(DT$C)
如果我没有遗漏什么,这将完成任务:
DT <- data.table(A=1:5*10, B=1:5*-1)
DT[, C := cumsum(A + B)]
带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