Ich habe dieses DT:Wie kann ich Gruppen überspringen, während ich in data.table mit dem Schlüssel untergeordnet bin?
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
Ich brauche Gruppen zu beseitigen, während subsetting aber nur, wenn die Daten eine Bedingung erfüllt. So etwas funktioniert nicht:
dt[,{if (.N==4) .SD else NULL
v1},by="ID"]
So dass ich die Gruppen entfernen müssen, die die Bedingung nicht erfüllen. In diesem Beispiel würde Ich mag die Gruppen überspringen, die Länge als 4 unterscheidet Damit erhalte ich:
ID value
1: a 1
2: a 2
3: a 3
4: a 4
Aber ich habe das nicht in der Lage um zu arbeiten, würde ich jede Hilfe dankbar.
tut 'dt [, wenn (. N == 4) .SD, von =" ID "]' Ihre Frage beantworten? – jangorecki
Eigentlich ja! ... ich fühle mich so dumm hahahaha –
@ jangorecki: warum nicht posten? –