我正在寻找一种有效的方法来创建一个布尔向量,如果a number个指定变量(例如c(1,2,3)
)中的一个或多个位于另一个向量(例如c(4,5,6,1)
)中,则返回TRUE
.
在本例中,由于元素1
存在于两个向量中,因此寻求的输出将为TRUE
.
据我所知,%in%
只允许一次判断一个变量,考虑到我需要判断的潜在变量的数量,在这种情况下使用|
运算符效率很低.使用intersect()
返回logical(0)
而不是FALSE
,并且sum(c(1,2,3) == c(4,5,6,1)) > 1
返回FALSE
,因为公共元素不在同一位置.