A: 文字が文字列内にあるかどうかを確認する方法
次のメソッドを使用して、R の文字列に文字が含まれているかどうかを確認できます。
方法 1: Base R を使用して文字が文字列内にあるかどうかを確認する
grepl(my_character, my_string, fixed= TRUE )
方法 2: stringr パッケージを使用して文字列に文字が含まれているかどうかを確認する
library (stringr)
str_detect(my_string, my_character)
次の例は、各メソッドを実際に使用する方法を示しています。
例 1: Base R を使用して文字列内に文字が含まれているかどうかを確認する
次のコードは、R の特定の文字列に「Doug」が存在するかどうかを確認する方法を示しています。
#define character to look for
my_character <- "Doug"
#define string
my_string <- "Hey my name is Douglas"
#check if "Doug" is in string
grepl(my_character, my_string, fixed= TRUE )
[1] TRUE
文字列に「Doug」が存在するため、 grep()関数はTRU Eを返します。
代わりに、文字列に「Steve」が存在するかどうかを確認するとします。
#define character to look for
my_character <- "Steve"
#define string
my_string <- "Hey my name is Douglas"
#check if "Steve" is in string
grepl(my_character, my_string, fixed= TRUE )
[1] FALSE
「Steve」が文字列に存在しないため、 grep()関数はFALSEを返します。
例 2: stringr パッケージを使用して文字列内に文字が含まれているかどうかを確認する
次のコードは、 stringrパッケージのstr_detect()関数を使用して、文字列「Doug」が特定の文字列に存在するかどうかを確認する方法を示しています。
library (stringr)
#define character to look for
my_character <- "Doug"
#define string
my_string <- "Hey my name is Douglas"
#check if "Doug" is in string
str_detect(my_string, my_character)
[1] TRUE
文字列に「Doug」が含まれているため、 str_detect()関数はTRUEを返します。
次の構文を使用して、文字列に複数の文字が存在するかどうかを確認することもできることに注意してください。
library (stringr)
#define vector of characters to look for
my_characters <- c("Doug", "Steve", "name", "He")
#define string
my_string <- "Hey my name is Douglas"
#check if each character is in string
str_detect(my_string, my_characters)
[1] TRUE FALSE TRUE TRUE
結果から次のことがわかります。
- その連鎖の中に「ダグ」が存在する。
- 「スティーブ」はチャンネルに存在しません。
- 文字列内に「名前」が存在します。
- 文字列の中に「それ」が存在します。
関連: R で str_detect() 関数を使用する方法 (3 つの例)
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。