2016-08-25 9 views
0

行列の行にブールR演算子ORを使用したいと思います。以下では、apply関数を使用した単純なおもちゃの例に対する私の解を見つける。これを行う最も簡単で最速の方法は何ですか?これは他のブール演算にどのように一般化されますか?あなたはこのためにany(論理的「または」)とall(論理「と」)関数を使用することができブール演算子または行列の行のOR

b <- matrix(c(T,T,F,T,F,F),3) 

apply(b,1, function(x) T %in% x) 
+2

を使用することができ、ご希望の出力は何ですか? – r2evans

+2

あなたは何をしようとしているのですか?データフレームと通常のサブセットワークフローを使用していないのはなぜですか? – cory

答えて

3

。あなたのケースでは:余談として

apply(b, 1, any) 

、私はコードでTFの使用を避けるだろう。彼らは、コードの別の場所で再定義することができ、通常の識別子です。一方、TRUEおよびFALSEは定数ではありません。

+2

私は 'rowSums'もこの文脈でかなり頻繁に使われていると思います。 – Henrik

0

私たちは、この

rowSums(b)!=0 
#[1] TRUE TRUE FALSE 

のためのベクトル化rowSumsを使用するか、または2つの列のみが存在する場合、|オペレータはまた

b[,1]|b[,2] 
#[1] TRUE TRUE FALSE 
関連する問題