我想在一个data.table中创建一个新的列,该列根据另一列的当前值和另一列的前一个值进行计算。我能够访问以前的行吗?
例如:
> DT <- data.table(A=1:5, B=1:5*10, C=1:5*100)
> DT
A B C
1: 1 10 100
2: 2 20 200
3: 3 30 300
4: 4 40 400
5: 5 50 500
> DT[, D := C + BPreviousRow] # What is the correct code here?
正确答案应该是
> DT
A B C D
1: 1 10 100 NA
2: 2 20 200 210
3: 3 30 300 320
4: 4 40 400 430
5: 5 50 500 540
DT <- data.table(A=..., key = "A")
- PatrickT