2017-03-17 89 views
0

我希望不同组的前一行值。我已经通过了解决方案here,并尝试了下面显示的代码。按组别划分的R行数值

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) 
+0

你有一个错字之前先转换为data.tablesetDT(new_data)不需要'(''内'shift' NEW_DATA [,avg_week:=移(avg_travel_time,TYPE =“滞后“),由=标识符]' – akrun

+0

还是一样的错误“> NEW_DATA [,avg_week:=移(avg_travel_time,类型= ”滞后“),由=标识符] 错误'[.data.frame'(NEW_DATA, ,':='(avg_week,shift(avg_travel_time,: unused argument(by = identifier)' – cutepanda

回答

0

有在OP代码的两个问题,1)的数据集为data.frame而不是内部shift一个data.table,2)使用的.(这不是必需的。我们需要应用data.table语法

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