1

我是 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)
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 回答