1
我有這個DT:如何在data.table中使用鍵進行子集時跳過組?
dt=data.table(ID=c(rep(letters[1:2],each=4),'b'),value=seq(1,9))
ID value
1: a 1
2: a 2
3: a 3
4: a 4
5: b 5
6: b 6
7: b 7
8: b 8
9: b 9
我需要消除組,而子集化,但只有當數據滿足某些條件。像這樣的東西不起作用:
dt[,{if (.N==4) .SD else NULL
v1},by="ID"]
因此,我需要刪除不符合條件的組。在這個例子中,我想跳過這長度大於4不同的,所以我得到的羣體:
ID value
1: a 1
2: a 2
3: a 3
4: a 4
但我一直沒能圍繞這個工作,我希望得到任何幫助。
確實dt[, if (.N==4) .SD, by="ID"]
回答你的問題:
does'dt [,if(.N == 4).SD,by =「ID」]'回答你的問題? – jangorecki
其實是的!...我覺得很愚蠢hahahaha –
@ jangorecki:爲什麼不張貼? –