全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1320 13
2023-01-15
悬赏 20 个论坛币 已解决
请教一下论坛的各位老师,我现在想实现的一个功能是将机构批量定位到城市尺度。其中机构所在的城市保存在address_list数据表中,包含两列(applicant和city)。
举个例子:
Snipaste_2023-01-15_20-41-52.png
图1:示例效果(左边到右边)
Snipaste_2023-01-15_20-44-39.png
图2:address_list数据集
我尝试用过使用以下语句:
data$申请人 <- gsub(" ","",data$申请人,fixed = T) #去除空格
applicant <- stringr::str_split(data$申请人,";") #以分号为分隔符
applicant_new <- lapply(applicant, function(x) stri_replace_all_coll(x, address_list$applicant, address_list$city,vectorize_all=F))
运用最后一句来实现批量替换,但是这句语句我运行了一天一夜也没出来,主要是因为我的address_list文件和applicant文件都比较大,语句的运行效率比较低。所以想请教各位老师有没有好办法更有效率的实现上述效果。
Snipaste_2023-01-15_20-41-52.png

原图尺寸 226.37 KB

Snipaste_2023-01-15_20-41-52.png

最佳答案

abelus 查看完整内容

直接用match这种“底层”些的函数直接得到结果,思路上也许更加直观点。
二维码

扫码加我 拉你入群

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

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

全部回复
2023-1-15 20:53:45
复制代码


直接用match这种“底层”些的函数直接得到结果,思路上也许更加直观点。
二维码

扫码加我 拉你入群

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

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

2023-1-16 18:34:21
复制代码

屏幕截图 2023-01-16 183327.png
二维码

扫码加我 拉你入群

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

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

2023-1-16 18:38:19
复制代码
屏幕截图 2023-01-16 183327.png
二维码

扫码加我 拉你入群

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

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

2023-1-16 20:29:32
sanjie27 发表于 2023-1-16 18:38
老师,不好意思。我可能没表述好。我想实现的图1,左边到右边的效果。其中图1的左侧和图2的address_list是已知信息。然后去定位出city这一列。还是很谢谢老师。
二维码

扫码加我 拉你入群

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

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

2023-1-16 20:38:26
复制代码

我想实现的是这个效果,但是不知道是数据量太大还是我的语句效率太低,运行了很多出不来结果。还请各位老师帮忙看看,谢谢。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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