R中的行数滞后于组

时间:2017-03-17 06:30:31

标签: r

我想要不同组的上一行值。我已经完成了here给出的解决方案,并尝试了下面显示的代码。

new_data[,avg_week := shift(.(avg_travel_time),type = "lag"), by = identifier]

这是我得到的错误。

Error in `[.data.frame`(new_data, , `:=`(avg_week, c(NA, avg_travel_time[-.N])),  : 
unused argument (by = identifier)

1 个答案:

答案 0 :(得分:0)

OP代码中存在两个问题:1)数据集是data.frame而不是data.table,2 .(shift内使用这不是必需的。在应用data.table语法之前,我们需要先转换为setDT(new_data)data.table

setDT(new_data)[,avg_week := shift(avg_travel_time, type = "lag"), by = identifier]