全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1351 2
2017-02-27
请问怎么比较两组人名是否一样

df <- data.frame(name1 = c("张小明,李小明", "王小明", "马小明,王小明,于小明"),
                 name2 = c("李小明,张小明", "于小明", "于小明,马小明,王小明"))


我想在df里加入一个新变量change,如果name1和name2不一样,change=1,一样的话change=0。不考虑name1和name2里人名的顺序,也就是说“张小明,李小明”和“李小明,张小明”是一样的,最后得到的结果应该是change=c(0, 1, 0),应该怎么做?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-2-27 12:59:41
library(stringr)
df$change <- !mapply(identical,
                                lapply(str_split(df$name1, ","), str_sort),
                                lapply(str_split(df$name2, ","), str_sort))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-2-27 16:05:24
cheetahfly 发表于 2017-2-27 12:59
library(stringr)
df$change
厉害,多谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群