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 - 如何判斷列表中不存在哪個元素
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 - 如何判斷列表中不存在哪個元素
有各種不同的方式之一能做到這一點。一種方法是由@ 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
'C( 「A」, 「E」),在%名稱%(L)' – chinsoon12
根據你在做什麼,集合操作可能也有幫助 - 'setdiff'比如? – thelatemail