首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R多个模糊匹配agrep创建变量

R多个模糊匹配agrep创建变量
EN

Stack Overflow用户
提问于 2014-08-07 04:17:30
回答 1查看 816关注 0票数 0

R的新功能。我想通过创建一个变量(yes/no)来创建一个测试,该变量检查名字或姓氏是否与电子邮件地址模糊匹配。如果是,则将'yes‘变量附加到该行。

数据示例:

代码语言:javascript
复制
id firstname lastname email address match
1 patrick boyles patrickb@gmail.com yes
2 zeke cosmos zeke@gmail.com yes
3 foo foo abcd@gmail.com no

我知道我需要使用agrep。让我困惑的是,如何告诉R检查两列(名字和姓氏),并且只检查该行。

感谢-The新手

EN

回答 1

Stack Overflow用户

发布于 2014-08-07 08:04:16

这里有一些开始的东西

代码语言:javascript
复制
library(stringdist) # install.packages("stringdist") b4, if you need to
df <- read.table(header = TRUE, text = "id firstname lastname emailaddress match
1 patrick boyles patrickb@gmail.com yes
2 zeke cosmos zeke@gmail.com yes
3 foo foo abcd@gmail.com no")
df$match2 <- ifelse(with(df, stringdist(a = paste0(firstname, lastname), 
                                        b = sub("(.*)@.*", "\\1", emailaddress), 
                                        method = "lcs")) <= 7, 
                    "yes", "no")
df
#   id firstname lastname      email.address match match2
# 1  1   patrick   boyles patrickb@gmail.com   yes    yes
# 2  2      zeke   cosmos     zeke@gmail.com   yes    yes
# 3  3       foo      foo     abcd@gmail.com    no     no
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25169422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档