我有一个向量v1 = c(0,1,0,1,1)
和一个向量v2 = c(1,1,0,1,0)
。如何返回两个向量之间的值不匹配的索引?
例如:
v1 = c(0,1,0,1,1)
v2 = c(1,1,0,1,0)
预期产出
out_vector = c(1, 5)
索引1和5在向量v1
和v2
答案 0 :(得分:2)
我们可以将2个向量元素与==
进行比较,然后使用which
获取它们不匹配的索引位置。
which(!v1 == v2)
#[1] 1 5
或更直接的@thelatemail建议
which(v1 != v2)
#[1] 1 5
答案 1 :(得分:2)
与@Ronak使用的方法略有不同,我们也可以将操作视为两个向量之间的按位异或:
v1 = c(0,1,0,1,1)
v2 = c(1,1,0,1,0)
which(xor(v1, v2))
[1] 1 5