これは、 Rで条件を満たす行列の行を返すことに関する質問の拡張です。次の行列があるとします。
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
matrix$two == 7
すべての行を返したいのですがmatrix$three == 12
、可能な限り高速です。これは私が知っている方法です:
out <- mat[mat$two == 7,]
final_out <- out[out$three == 12, ]
final_out
明らかに、次のようなワンライナーで 内容を取得する方法があるはずです。final_out <- which(mat$two == 7 && mat$three == 12)
これは、上記の 2 行のコードよりも高速で簡潔です。
この複数条件マトリックス クエリを返す最速の R コードは何ですか?