2017-03-17 136 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]