我有两个列表或类似名单,我想在big_list
中获取little_list
中不的项目。
big_list <- c(1,2,3,4,5)
little_list <- c(2,4)
big_list[big_list %in% little_list] # this gives me the interection
但是我想要补码(big_list中不在little_list中的项目,即big_list\little_list
)。
这不起作用
big_list[big_list ! %in% little_list]
这也不是
big_list[big_list %in% ! little_list]
我假设有一个我应该自己解决的答案?!
答案 0 :(得分:3)
您可以在源文件或Rprofile中创建此功能,并在开始时加载它。非常方便。
'%!in%' <- function(x,y)!('%in%'(x,y))
然后你可以做
big_list[big_list %!in% little_list]
答案 1 :(得分:2)
setdiff(big_list, little_list)
#[1] 1 3 5
或者
big_list[!big_list %in% little_list]
#[1] 1 3 5