全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
888 6
2022-12-14
我现在有一个地区的变量,里面包含很多长度、内容不一致的字符串,但都包含行政区的名称,我想将这些不同的行政区名称提取出来,变成一个行政区的变量,想问一下大家,如果不用for循环的话能操作么?

微信图片_20221213214417.png
mydataa.xlsx
大小:(11.53 KB)

 马上下载



二维码

扫码加我 拉你入群

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

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

全部回复
2022-12-14 12:36:23
逐元素for循环是早该彻底抛弃的思维,看看向量化、数据化编程思维有多么简洁、优雅:

复制代码



1111.jpg

当然你的数据可以直接从Excel文件读取,不用这样手动创建。

另外,涉及文本字符串的操作,通常需要正则表达式,这里中括号部分是匹配任意汉字。

想学习这种简洁、优雅的数据编程思维,或者想让自己R语言知识汰旧换新,学习我分享的免费课件就行了:

[学习分享] 张敬信:分享我的1393页《R语言编程:基于tidyverse》完整课件
二维码

扫码加我 拉你入群

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

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

2022-12-14 14:43:35
原数据如果都是用逗号分隔的话,可以看下面的示例,把d换成那列数据的变量名即可:
复制代码

二维码

扫码加我 拉你入群

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

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

2022-12-14 15:21:03
zhjx19 发表于 2022-12-14 12:36
逐元素for循环是早该彻底抛弃的思维,看看向量化、数据化编程思维有多么简洁、优雅:
library(tidyverse)
df = tibble(
  x = c("黄渡敬老院,新黄路,嘉定区,上海市,201804,中国",
        "伴亭路,九里亭街道,松江区,上海市,201101,中国",
        "豫园,人民路,外滩街道,黄浦区,上海市,200010,中国",
        "若瑟登36,四川南路,外滩街道,黄浦区,上海市,200002,中国",
        "崇明区,上海市,中国",
        "崇明区,上海市,中国"))

df %>%
  mutate(区 = str_extract(x, "[\u4e00-\u9fa5]+区")) %>%
  distinct(区)
二维码

扫码加我 拉你入群

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

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

2022-12-14 19:17:30
zhjx19 发表于 2022-12-14 12:36
逐元素for循环是早该彻底抛弃的思维,看看向量化、数据化编程思维有多么简洁、优雅:
确实呀,for循环要跑好久!谢谢大师!
二维码

扫码加我 拉你入群

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

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

2022-12-14 19:18:50
llb_321 发表于 2022-12-14 14:43
原数据如果都是用逗号分隔的话,可以看下面的示例,把d换成那列数据的变量名即可:
好方便快捷!谢谢谢呀
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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