R - 如何判断列表中不存在哪个元素

时间:2017-03-10 01:52:44

标签: r

l<-list(a=1,b=2,c=3,d=4)

给定一个名称向量,我想告诉哪个l[[name]]不存在。例如,给定输入c("a","b"),输出应为F,F。对于输入c("a","e"),输出应为F,T。我目前的代码是is.na(names(l[c("a","e")]))。还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

有多种方法可以做到这一点。 @ chinsoon12显示了一种方式。

另一种方法是使用grepl。我们可以通过否定grepl的输出来获得不匹配名称的输出。

!grepl(paste0(names(l), collapse = "|"), c("a", "b"))
#[1] FALSE FALSE

!grepl(paste0(names(l), collapse = "|"), c("a", "e"))
#[1] FALSE  TRUE