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

问题描述 投票:-3回答:1

我有一个数据集,我需要比较R中两个字符串的前几个字符,考虑两个字符串:Allison,Master Hudson Trevor和Allison,Miss Helen Loraine。这两个在同一列和不同的行中,我的所有数据集都是这样的,有必要将每两个字符串比较到逗号,如果这两个是相同的,则返回yes,否则返回no。我是r的新人,提前谢谢。

r equality
1个回答
1
投票

一种选择是用word提取第一个单词

library(stringr)
out <- word(str1) == word(str2)
out
#[1] TRUE

从逻辑索引可以更容易地转换为“是/否”

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

或者base R选项包括在,之后删除字符串然后进行比较

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

如果这些是数据集中的两列,则可以通过提取列来完成相同的操作

out <- with(df1, word(col1) == word(col2))

如上所述完成其余的工作

data

str1 <- "Allison, Master Hudson Trevor"
str2 <- "Allison, Miss Helen Loraine"
© www.soinside.com 2019 - 2024. All rights reserved.