4

简单的问题,但在stackoverflow上没有找到。是否有查找所有不相同值的功能:

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

结果应该是:

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

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

4

3 回答 3

6

几年前,Tony Breyal 的博客上出现了这个问题,你可以在那里看到几个解决方案,这是最短的一个:

c(setdiff(x,y),setdiff(y,x))
于 2013-08-15T07:35:22.047 回答
4
setdiff(union(x, y), intersect(x, y))
于 2013-08-15T07:27:05.153 回答
1

速写形式:

c(x[!x %in% y],y[!y %in% x])
#[1] "b" "f" "g"
于 2013-08-15T07:29:47.440 回答