R:比较两个二进制向量

时间:2013-08-15 14:20:39

标签: r

我是R. 我有两个零和一个向量。 我想找到哪些行都是零,两个都是。零到一或零。考虑到这一点,我似乎无法找到一个问题。感谢

离。

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

2 个答案:

答案 0 :(得分:5)

您正在寻找table ...

table( a , b )
   b
a   0 1
  0 2 3
  1 3 2

答案 1 :(得分: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