R で文字列を比較する方法 (3 つの例)
R で文字列を比較するには、次のメソッドを使用できます。
方法 1: 2 つの文字列を比較する
#case-sensitive comparison string1 == string2 #case-insensitive comparison tolower (string1) == tolower (string2)
方法 2: 2 つの文字列ベクトルを比較する
#case-sensitive comparison identical(vector1, vector2) #case-insensitive comparison identical( tolower (vector1), tolower (vector2))
方法 3: 2 つの文字列ベクトル間の類似点を見つける
#find which strings in vector1 are also in vector2
vector1[vector1 %in% vector2]
次の例は、各メソッドを実際に使用する方法を示しています。
例 1: 2 つのベクトルが同じかどうかを確認する
次のコードは、R の 2 つの文字列を比較して、それらが等しいかどうかを判断する方法を示しています。
#define two strings string1 <- "Mavericks" string2 <- "mavericks" #case-sensitive comparison string1 == string2 [1] FALSE #case-insensitive comparison tolower (string1) == tolower (string2) [1] TRUE
2 つの文字列は完全に同一ではないため、大文字と小文字を区別した比較ではFALSEが返されます。
ただし、大文字と小文字に関係なく、両方の文字列に同じ文字が同じ順序で含まれるため、大文字と小文字を区別しない比較ではTRUEが返されます。
例 2: 2 つの文字列ベクトルを比較する
次のコードは、 Identify()関数を使用して 2 つの文字列ベクトルが等しいかどうかを判断する方法を示しています。
#define two vectors of strings
vector1 <- c("hey", "hello", "HI")
vector2 <- c("hey", "hello", "hi")
#case-sensitive comparison
identical(vector1, vector2)
[1] FALSE
#case-insensitive comparison
identical( tolower (vector1), tolower (vector2))
[1] TRUE
2 つのベクトルには同じ大文字と小文字のまったく同じ文字列が含まれていないため、大文字と小文字を区別した比較ではFALSE値が返されます。
ただし、大文字と小文字に関係なく、両方のベクトルに同じ文字列が含まれるため、大文字と小文字を区別しない比較ではTRUEが返されます。
例 3: 2 つの文字列ベクトル間の類似点を見つける
次のコードは、 %in%演算子を使用して、あるベクトル内のどの文字列が別のベクトルに属しているかを検索する方法を示しています。
#define two vectors of strings
vector1 <- c("hey", "hello", "greetings")
vector2 <- c("hey", "hello", "hi")
#find which strings in vector1 are also in vector2
vector1[vector1 %in% vector2]
[1] “hey” “hello”
結果から、vector1 と Vector2 の両方に文字列「hey」と「hello」が存在することがわかります。
追加リソース
次のチュートリアルでは、R で他の一般的な操作を実行する方法について説明します。
R で 2 つの列を比較する方法
R で 2 つのベクトルを比較する方法
Rで文字列内の文字の位置を見つける方法
Rでベクトルを文字列に変換する方法