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")]))
。还有更好的方法吗?
答案 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