查找R中列表之间的差异:获取与布尔值或列表位置相反的值

查找R中列表之间的差异:获取与布尔值或列表位置相反的值,r,R,我试图找出如何得到一个值列表,它在R中两个长度不等的值列表之间存在差异 我已使用%in%的否定版本尝试了以下操作: list1 <- c(1, 3, 5, 7, 9, 11) list2 <- c(1, 3, 7, 11) '%ni%' <- Negate('%in%') outlist <- list1 %ni% list2 outlist outlisttrue <- which(outlist==TRUE) outlisttrue 因此,outlist以布尔

我试图找出如何得到一个值列表,它在R中两个长度不等的值列表之间存在差异

我已使用%in%的否定版本尝试了以下操作:

list1 <- c(1, 3, 5, 7, 9, 11)
list2 <- c(1, 3, 7, 11)
'%ni%' <- Negate('%in%')
outlist <- list1 %ni% list2
outlist
outlisttrue <- which(outlist==TRUE)
outlisttrue
因此,
outlist
以布尔方式为我提供数据,
outlist-TRUE
似乎为
TRUE
结果提供列表中的位置

我想返回的是以下两个原始列表中不同的实际值列表:

[1] 5 9
有谁能提供一个简单的解决方案,让我可以在这里修改我的方法?谢谢你抽出时间

setdiff(list1, list2)
# [1] 5 9


我知道这会很简单!谢谢你。
setdiff(list1, list2)
# [1] 5 9
list1[list1 %ni% list2]
#[1] 5 9