Wie wähle ich Zeilen nach zwei Kriterien in data.table in R aus

Sagen wir, ich habe ein Daten.Tabelle und ich möchten, wählen Sie alle Zeilen, wo die variable x hat den Wert b. Das ist einfach

library(data.table)
DT <- data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9)
setkey(DT,x)               # set a 1-column key
DT["b"]

Durch die Art und Weise, es scheint, dass man einen Schlüssel, wenn der Schlüssel nicht auf x gesetzt, dann funktioniert das nicht. Durch die Art und Weise, was passieren würde, wenn ich zwei Spalten, die als Schlüssel?

Jedenfalls, es geht weiter, lasst uns sagen, dass ich wollen, wählen Sie alle Zeilen, wo die variable x war a oder b

DT["b"|"a"]

funktioniert nicht

Aber die folgenden Werke

DT[x=="a"|x=="b"]

Aber das nutzt Vektor-scan-a-la-Daten-frames. Es gilt nicht die binäre Suche. Ich denke, für kleinere Datenmengen ist es nicht egal.

Ist, was soll ich tun, oder bin ich unwissend von Daten.table-syntax?

Und noch eins. Gibt es irgendwelche Beispiele für komplexere Boolesche multi-Variablen-Auswahl (oder Teilmenge) Verfahren mit Daten.Tabelle?

Ich weiß, ich könnte immer wieder mit der Teilmenge () - Funktion, da ein Daten.Tabelle verhält sich wie eine Daten.frame, wenn es muss.

InformationsquelleAutor der Frage Farrel | 2011-12-14

Schreibe einen Kommentar