R中两个字符串的前几个字符是否完全相似?

时间:2018-03-05 13:36:57

标签: r equality

我有一个数据集,我需要比较R中两个字符串的前几个字符,考虑两个字符串如: 艾莉森,哈德森特雷弗大师  和Allison,海伦小姐Loraine。 这两个在同一列和不同的行中,我的所有数据集都是这样的,有必要将每两个字符串比较到逗号,如果这两个是相同的,则返回yes,否则返回no。 我是r的新人, 提前谢谢。

1 个答案:

答案 0 :(得分:1)

一种选择是用word

提取第一个单词
library(stringr)
out <- word(str1) == word(str2)
out
#[1] TRUE

从逻辑索引中,可以更轻松地转换为是/否&#39;

c("No", "Yes")[out +1]

base R选项涉及在,之后删除字符串,然后比较

sub(",.*", "", str1) == sub(",.*", "", str2)

如果这些是数据集中的两列,则可以通过提取列

来完成相同的操作
out <- with(df1, word(col1) == word(col2))

并按上述方式完成其余工作

数据

str1 <- "Allison, Master Hudson Trevor"
str2 <- "Allison, Miss Helen Loraine"