R - der Schnellste Weg zum auswählen der Zeilen einer matrix, die mehrere Bedingungen erfüllen

Dies ist eine Erweiterung der Frage auf die Rückgabe der Zeilen einer matrix, die eine Bedingung erfüllt in R. Sagen, ich habe die matrix:

       one two three four
 [1,]   1   6    11   16
 [2,]   2   7    12   17
 [3,]   3   8    11   18
 [4,]   4   9    11   19
 [5,]   5  10    15   20
 [6,]   1   6    15   20
 [7,]   5   7    12   20

Möchte ich alle Zeilen, wo matrix$two == 7 UND matrix$three == 12 so schnell wie möglich. Dies ist der Weg, den ich kenne, es zu tun:

 out <- mat[mat$two == 7,]
 final_out <- out[out$three == 12, ]

Es sollte natürlich eine Methode sein, um den Inhalt der final_out in einem Einzeiler, sowas wie: final_out <- which(mat$two == 7 && mat$three == 12) das ist schneller und kürzer als die zwei Linie des codes oben.

Was ist der Schnellste R-code dafür mehrere matrix-Bedingung Abfragen?

InformationsquelleAutor Zhubarb | 2013-08-08
Schreibe einen Kommentar