R - 如何在两个向量中找到共同的逻辑值

R - How to find common logical values in two vectors

1)我需要相交两个向量和return一个具有相同值和相交值的向量。

intersect() 不 return 具有相同大小的向量。

2) 另外为什么 return c(TRUE TRUE TRUE) 而不是 c(FALSE TRUE TRUE) ?

set1 = c(TRUE,FALSE,TRUE)
set2 = c(FALSE,FALSE,TRUE)

testset = set1 %in% set2

> print(testset)
[1] TRUE TRUE TRUE

我得到了结果 TRUE TRUE TRUE,我需要 FALSE FALSE TRUE

A %in% B 检查 A 中的每个元素是否在 B 中。结果的长度始终与 length(A) 相同。尝试例如

1:3 %in% 1:9
1:9 %in% 1:3

我想你想要的是这个:

set1 == set2
[1] FALSE  TRUE  TRUE

做交集需要用到&运算符,如下:

testset = set1 & set2

这将为您提供以下结果:FALSE FALSE TRUE

希望对您有所帮助。