2017-03-10 94 views
1
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")]))。有更好的方法嗎?R - 如何判斷列表中不存在哪個元素

+4

'C( 「A」, 「E」),在%名稱%(L)' – chinsoon12

+0

根據你在做什麼,集合操作可能也有幫助 - 'setdiff'比如? – thelatemail

回答

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 
相關問題