16

指定された文字ベクトルのどこかにパターンが見つかった場合、またはそうでない場合grepに返す Rの関数はありますか?TRUEFALSE

私が見るすべての関数は、見つかった各要素の現在の位置のベクトルを返します。

4

4 に答える 4

31

おそらく と のgrepl()組み合わせany()

お気に入り

> foo = c("hello", "world", "youve", "got", "mail")
> any(grepl("world", foo))
[1] TRUE
> any(grepl("hi", foo))
[1] FALSE  
> any(grepl("hel", foo))
[1] TRUE

あなたの質問は、最後の例がtrueを返すかどうかについて少し不明確です

于 2012-07-14T04:48:13.377 に答える
25

おそらくあなたは探していgrepl()ますか?

> grepl("is", c("This", "is", "a", "test", "isn't", "it?"))
[1]  TRUE  TRUE FALSE FALSE  TRUE FALSE

最初の引数は探しているパターン、2 番目の引数は照合するベクトル、戻り値は同じ長さのブール ベクトルで、パターンが各要素に一致したかどうかを示します。

于 2012-07-14T04:19:01.453 に答える
15

「どれか」をお探しですか?

> x<-c(1,2,3,4,5)
> x==5
[1] FALSE FALSE FALSE FALSE  TRUE
> any(x==5)
[1] TRUE

文字列に対してもこれを行うことができることに注意してください

> x<-c("a","b","c","d")
> any(x=="b")
[1] TRUE
> any(x=="e")
[1] FALSE

また、applys と組み合わせると便利です。

> sapply(c(2,4,6,8,10), function(x){ x%%2==0 }  )
[1] TRUE TRUE TRUE TRUE TRUE
> any(sapply(c(2,4,6,8,10), function(x){ x%%2!=0 }  ))
[1] FALSE
于 2012-07-14T04:12:42.783 に答える
5

grepl はあなたが探しているものです

grepl("is", "This is grepl test")
[1] TRUE
grepl("is not", "This is grepl test")
[1] FALSE
于 2015-12-20T19:00:22.953 に答える