1

R は初めてです。0 と 1 の 2 つのベクトルがあります。どちらの行もゼロ、どちらも 1 である行を見つけたいです。ゼロから 1 または 1 からゼロ。これを考えると質問が見つからないようです。ありがとう

元。

  a=c(0,0,0,1,0,1,1,1,0,1)
  b=c(1,0,1,0,0,0,0,1,1,1)
4

2 に答える 2

5

あなたが探しているtable...

table( a , b )
   b
a   0 1
  0 2 3
  1 3 2
于 2013-08-15T14:24:11.203 に答える
1

ケースを区別するには、演算子を使用&して、a==X と b==Y の場合を見つけます。

which( (a==X) & (b==Y) )

例えば。

which( (a==0) & (b==0) )

プリントアウト

[1] 2 5

その間

which( (a==1) & (b==0) )

版画

[1] 4 6 7

問題が対称性に関係しない場合 (同じ/異なる値を持つインデックスを見つけたいだけ)、単純な比較と を使用できますwhich

これはまさにそのためのもの==です

a==b
[1] FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE

インデックスが必要な場合は、which関数があります

which( a==b )
[1]  2  5  8 10

0->1 または 1->0 の場合、!=演算子を使用できます

which( a!=b )
[1] 1 3 4 6 7 9
于 2013-08-15T14:22:35.620 に答える