Вы можете использовать следующие методы для сравнения строк в 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 , поскольку две строки не полностью идентичны.
Однако сравнение без учета регистра возвращает значение TRUE , поскольку две строки содержат одни и те же символы в одном и том же порядке, независимо от регистра.
Пример 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
Сравнение с учетом регистра возвращает значение 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"
Из вывода мы видим, что строки «привет» и «привет» существуют как в векторе1, так и в векторе2.
Связанный: Как использовать оператор %in% в R
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в R:
Как сравнить два столбца в R
Как сравнить два вектора в R
Как найти расположение символа в строке в R
Как преобразовать вектор в строку в R