Як порівнювати рядки в r (3 приклади)
Ви можете використовувати такі методи для порівняння рядків у R:
Спосіб 1. Порівняйте два рядки
#case-sensitive comparison string1 == string2 #case-insensitive comparison tolower (string1) == tolower (string2)
Спосіб 2: Порівняйте два рядкові вектори
#case-sensitive comparison identical(vector1, vector2) #case-insensitive comparison identical( tolower (vector1), tolower (vector2))
Спосіб 3: Знайти подібність між двома рядковими векторами
#find which strings in vector1 are also in vector2
vector1[vector1 %in% vector2]
Наступні приклади показують, як використовувати кожен метод на практиці.
Приклад 1: Перевірте, чи два вектори однакові
Наступний код показує, як порівняти два рядки в R, щоб визначити, чи вони рівні:
#define two strings string1 <- "Mavericks" string2 <- "mavericks" #case-sensitive comparison string1 == string2 [1] FALSE #case-insensitive comparison tolower (string1) == tolower (string2) [1] TRUE
Порівняння з урахуванням регістру повертає FALSE , оскільки два рядки не зовсім ідентичні.
Однак порівняння без урахування регістру повертає ІСТИНУ , оскільки обидва рядки містять однакові символи в однаковому порядку, незалежно від регістру.
Приклад 2: Порівняйте два рядкові вектори
У наведеному нижче коді показано, як використовувати функцію identical() для визначення рівності двох рядкових векторів:
#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
Порівняння з урахуванням регістру повертає значення FALSE , оскільки два вектори не містять абсолютно однакові рядки в одному регістрі.
Однак порівняння без урахування регістру повертає TRUE , оскільки обидва вектори містять однакові рядки, незалежно від регістру.
Приклад 3: Пошук подібності між двома рядковими векторами
У наведеному нижче коді показано, як за допомогою оператора %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”
З результату ми бачимо, що рядки «hey» і «hello» існують як у векторі1, так і у векторі2.
Пов’язане: як використовувати оператор %in% у R
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в R:
Як порівняти два стовпці в R
Як порівняти два вектори в R
Як знайти розташування символу в рядку в R
Як перетворити вектор на рядок у R