[英]Difference between two vectors in R
我有两个向量:
a <- c(1, 1, 3, 4, 5, 7, 9)
b <- c(2, 3, 4, 6, 8, 2)
我想在第二个向量中找到不在第一个向量中的数字:
dif <- c(2, 6, 8)
我尝试了许多不同的方法(例如合并、不同类型的连接(dplyr 包)、setdiff、compare(比较包)),但我仍然找不到方法来做到这一点。
你可以使用setdiff
setdiff(b,a)
#[1] 2 6 8
另一种方法,而不是setdiff
(可能是优选的),是使用%in%
unique(b[! b %in% a])
#[1] 2 6 8
确切的问题已得到解答,但如果有人想找到两个列表之间未共享的所有元素,那么这就是答案:
union(setdiff(a,b), setdiff(b,a))
这里 'a' 和 'b' 可能类似于
a<-c(1,2,3,4,5)
b<-c(4,5,6,7,8)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.