私はこの質問に尋ねられていないことに非常に驚いています。私は行列の行をベクトルと比較して、行==どこにでもベクトルを返すかどうかを確認したい。以下の例を参照してください。私はベクトル化された解を求めていますが、行列は遅いループのためには大きすぎるので関数は適用されません。行がたくさんあると仮定して、ベクトルをリッピングすることを避けたいと思います。行列の行がベクトル化されてRでベクトル化されているかどうかを調べる
set.seed(1)
M = matrix(rpois(50,5),5,10)
v = c(3 , 2 , 7 , 7 , 4 , 4 , 7 , 4 , 5, 6)
M
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 4 8 3 5 9 4 5 6 7 7
[2,] 4 9 3 6 3 1 5 7 6 1
[3,] 5 6 6 11 6 4 5 2 7 5
[4,] 8 6 4 4 3 8 3 6 5 6
[5,] 3 2 7 7 4 4 7 4 5 6
出力があるべき
FALSE FALSE FALSE FALSE TRUE
私はこの単純な論理タスクのもう一つの負担となります作るために、Mは非常に非常に大きな行列であるため、担当者を()使用しないように期待していました。 – robertevansanders
'colSums(t(M)== v)== ncol(M)'が良いですか?それはそうではありません "*単純な論理的な仕事*" btw –
はいそれは素晴らしいです。 – robertevansanders