dt <- data.table(id=c(8,5,4,9,2,7), col1=c(2,1,2,2,3,1), col2=c(1,1,1,2,3,1))
id col1 col2
1: 8 2 1
2: 5 1 1
3: 4 2 1
4: 9 2 2
5: 2 3 3
6: 7 1 1
Ich mag dt
die Teilmenge nur Zeilen zu erhalten, die den Wert 2
in einem col1
oder col2
enthält, Spaltenindizes verwenden, anstatt Namen.Mit Spaltenindex in data.table Zustand
Bearbeiten: Um klar zu sein, ich interessiere mich für Situationen, in denen nur Spaltenindizes bekannt sind (Namen sind unbekannt).
wie 'dt [col1% in% 2 | col2% in% 2,] '? – mtoto
nein, so'dt [as.vector (dt [, 2, mit = F] == 2) | as.vector (dt [, 3, mit = F] == 2)] ', aber ich habe eine große Anzahl von Spalten, daher ist es unpraktisch, dieselbe Bedingung zu kopieren und einzufügen und den Spaltenindex zu ändern. – Orion
@lukeA Ja! Bitte fügen Sie es als Antwort hinzu. – Orion