嗨,我使用上述问题的答案(上面的链接)创建了一个滞后变量。它说要创建一个滞后变量我需要使用:
library(data.table)
data = data[, lag.value:=c(NA, value[-.N]), by=groups]
或者,或者:
data = data[, lag.value := shift(value, 1L), keyby = groups]
这是我从下面的相关问题答案得到的:
(对于第二种方法,我可能不完全正确,因为它有点复杂,所以请纠正我,如果它是错的)
在任何情况下,当我使用任何这些方法时,我都会收到错误:
Error in `[.data.frame`(data, , `:=`(lag.value, c(NA, :
unused argument (by = groups)
请你解释我在这里做错了什么以及我应该怎么做以避免错误?
数据:
time value groups
1 3 a
2 3 a
3 4 a
4 4 a
1 1 b
2 2 b
3 5 b
4 5 b
我要创建的变量是lag.value,其值在组
中滞后1