最後一排這是我的數據表如下所示:獲取一前一組的data.table
library(data.table)
dt <- fread('
Product Group LastProductOfPriorGroup
A 1 NA
B 1 NA
C 2 B
D 2 B
E 2 B
F 3 E
G 3 E
')
的LastProductOfPriorGroup
列是我所需的列。我試圖從上一組的最後一行獲取產品。所以在前兩行中,沒有先前的組,因此它是NA
。在第三行中,前一組的最後一行中的產品是B
。我試圖通過
dt[,LastGroupProduct:= shift(Product,1), by=shift(Group,1)]
無濟於事。
您正在使用=組2次。第一個和第二個相比,是什麼? $ V1的意義是什麼? – gibbz00
@ gibbz00 - 我添加了一些解釋。希望能幫助到你。 –
您正在爲每個組計算'shift(dt [,last(Product),by = Group] $ V1)'。我可能會做'dt [dt [,last(Product),by = Group] [,v:= shift(V1)],on =「Group」,newcol:= iv]' – Frank