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