我有以下示例数据框。
id value
a 3
a 4
a 8
b 9
b 8
我想对其进行转换,以便计算连续行之间“值”列的差异。所以预期的结果是
id value prevValue
a 3 0
a 4 3
a 8 4
b 9 0
b 8 9
请注意,在每个组中,我希望值序列以 0 开头,并且连续值来自前一个值。我尝试了以下
x = x[,list(
prevValue = c(0,value[1:(.N-1)])
),by=id]
但没有运气。 提前致谢。
最佳答案
使用负索引,例如:
x[,prev.value := c(0,value[-.N]) ,by=id]
关于R data.table 选择组 block 中的前一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18245932/