如何在 r 中比较字符串(3 个示例)


您可以使用以下方法来比较 R 中的字符串:

方法一:比较两个字符串

 #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:比较两个字符串向量

以下代码演示了如何使用equal()函数来确定两个字符串向量是否相等:

 #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中都存在字符串“hey”和“hello”。

相关:如何在 R 中使用 %in% 运算符

其他资源

以下教程解释了如何在 R 中执行其他常见操作:

如何比较 R 中的两列
如何在 R 中比较两个向量
如何在R中查找字符串中的字符位置
如何在R中将向量转换为字符串

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注