如何从列表中查找r

时间:2016-09-01 17:51:16

标签: r

我有两个具有相同向量但长度不同的列表

list1 <- list(a = 1:10, b = 3:20)
list2 <- list(a = c(2,5,8), b = c(3,5,11,20))

我想在list1中的每个向量中找到list2中相应向量中不存在的元素。对于其他脚本而不是R来回答类似的问题。

我希望最终的名单是

lst <- list(a=c(1,3,4,6,7,9,10),b=c(4,6:10,12:19))

感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

我们可以使用

mapply(setdiff,list1,list2)
#$a
#[1]  1  3  4  6  7  9 10

#$b
#[1]  4  6  7  8  9 10 12 13 14 15 16 17 18 19