2017-12-01 11 views
0

内に含まれているかどうか私は、リスト自体が特定の文字列が含まれていることの要素が含まれているかどうかを確認する方法を見つけようとしています。チェック文字列がリスト

list1 <- list("a","b","c") 
"a" %in% list1 
[1] TRUE 

しかし、要素は文字列のみが含まれている場合、それはTRUEを返していない、つまり要素は、同じである場合にのみ動作します:完全一致を見つけることは%in%と簡単です

list2 <- list("a,b","c,d") 
"a" %in% list2 
[2] FALSE 

があります2番目の例でTRUEを生成する方法は?前もって感謝します。

+5

'任意の(grepl( "A"、非公開に(のようなものリスト2))) '?彼らは常に%の非公開にして、その後、 ' "" %コンマ区切りされている場合は(strsplit(as.character(LIST2)、 ""))' –

+0

は、@ ronak-シャーの答えについてコメント場合list2' '内のすべての要素単純な文字列であり、 'unlist()'は省略することができます。 '任意の(grepl( "A"、LIST2は))'行う必要があります。 –

+0

私は、rについては何も知りません。 しかし、私はこのスレッドを見つけました:https://stackoverflow.com/questions/30180281/how-can-i-check-if-multiple-strings-exist-in-another-string –

答えて

0

あなたの周りにそれをひっくり返すとany()が出力されているので、それなしで含まれている

any(list2 %like% 'a') 

を使用してみてくださいでした:[1] TRUE FALSE

+0

?私はそれを見ていない。 – Marius

+0

何らかの理由で私はそれが基本機能だと思いました。しかし、そうではありません。それはdata.tableにあります – brett

0
library(stringi) 

list2 <- list("a,b","c,d") 

stri_detect_fixed(list2, "a") 
## [1] TRUE FALSE 

stri_detect_fixed(list2, "b") 
## [1] TRUE FALSE 

stri_detect_fixed(list2, "c") 
## [1] FALSE TRUE 

stri_detect_fixed(list2, "d") 
## [1] FALSE TRUE 

stri_detect_fixed(list2, "q") 
## [1] FALSE FALSE 
関連する問題