我需要將數字放在組中的第一個或隨機項上。 我以下:如何在數據表上只輸入條件行的數據
item<-sample(c("a","b", "c"), 30,replace=T)
week<-rep(c("1","2","3"),10)
volume<-c(1:30)
DT<-data.table(item, week,volume)
setkeyv(DT, c("item", "week"))
sampleDT <- DT[,.SD[1], by= list(item,week)]
item week volume newCol
1: a 1 1 5
2: a 2 14 5
3: a 3 6 5
4: b 1 13 5
5: b 2 2 5
6: b 3 9 5
7: c 1 7 5
8: c 2 5 5
9: c 3 3 5
DT[DT[,.SD[1], by= list(item,week)], newCol:=5]
的sampleDT出來是正確的,但最後一行把5上的所有列,而不是空調的。 我在做什麼錯?
從來沒有想過我會說這對'R'語法,但第二個命令看起來非常沙沙! – MattLBeck
謝謝,它的工作。 $ V1看起來像新建立的列。 – user1555785
@ user1555785查看DT [,.I [1],by = list(item,week)]的輸出,'$ V1'部分應該清除 – eddi