从列表中删除某些向量

Car*_*nal 3 r

我想从列表中删除某些向量。我有这样的例子:

a<-c(1,2,5)
b<-c(1,1,1)
c<-c(1,2,3,4)
d<-c(1,2,3,4,5)
exampleList<-list(a,b,c,d)

exampleList returns of course:
[[1]]
[1] 1 2 5

[[2]]
[1] 1 1 1

[[3]]
[1] 1 2 3 4

[[4]]
[1] 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)

有没有办法从 R 中的列表中删除某些向量。我想删除列表 exampleList 中包含 1 和 5 的所有向量(因此不仅包含 1 或 5 的向量,还包含两者)。提前致谢!

and*_*rew 5

使用Filter

filteredList <- Filter(function(v) !(1 %in% v & 5 %in% v), exampleList)
print(filteredList)
#> [[1]]
#> [1] 1 1 1
#> 
#> [[2]]
#> [1] 1 2 3 4
Run Code Online (Sandbox Code Playgroud)

Filter使用功能风格。您传递的第一个参数是一个函数,该函数返回TRUE保留在列表FALSE中的元素以及要从列表中删除的元素。第二个参数只是列表本身。