如何消除列表中所有向量中的元素,这些元素存在于r的vecor中

时间:2016-09-01 19:06:37

标签: r

我有一个列表包含不同长度的不同载体

list1 <- list(a = 1:10, b = 3:20, c = c(1,3,7, 9,18,20,24,28))

我想从list1中存在于向量

中的所有向量中消除任何元素
 d <- c(1,3,7,8,20)

我希望结果如下:

 list(a = c(2,4:6,9:10), b = c(4:6,9:19), c = c(9,18,24,28))

1 个答案:

答案 0 :(得分:3)

例如

lapply(list1, setdiff, d)

给出

$a
[1]  2  4  5  6  9 10

$b
 [1]  4  5  6  9 10 11 12 13 14 15 16 17 18 19

$c
[1]  9 18 24 28

阅读?setdiff了解相关功能。