用于在两个向量中找到不相同元素的函数

时间:2013-08-15 07:22:55

标签: r vector

简单的问题,但没有在stackoverflow上找到它。是否有找到所有不相同值的函数:

x <- c("a","b","c","d")
y <- c("a","f","g","c","d")

结果应为:

res <- c("b","f","g")

所有功能似乎只适用于一个载体。 setdiff()等。

3 个答案:

答案 0 :(得分:6)

几年前Tony Breyal's blog出现了这个问题,你可以在那里看到几种解决方案,这里是最短的解决方案:

c(setdiff(x,y),setdiff(y,x))

答案 1 :(得分:4)

setdiff(union(x, y), intersect(x, y))

答案 2 :(得分:1)

手写形式:

c(x[!x %in% y],y[!y %in% x])
#[1] "b" "f" "g"