在R中创建滞后变量时出错

时间:2015-12-03 16:57:56

标签: r dataframe data.table lag

related question link

嗨,我使用上述问题的答案(上面的链接)创建了一个滞后变量。它说要创建一个滞后变量我需要使用:

library(data.table)
 data = data[, lag.value:=c(NA, value[-.N]), by=groups]

或者,或者:

data = data[, lag.value :=  shift(value, 1L), keyby = groups]

这是我从下面的相关问题答案得到的:

related question 1 link

(对于第二种方法,我可能不完全正确,因为它有点复杂,所以请纠正我,如果它是错的)

在任何情况下,当我使用任何这些方法时,我都会收到错误:

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

0 个答案:

没有答案