作者love11098787 (sunny_girl)
看板R_Language
标题[问题] 撷取中文特定字串
时间Wed Aug 5 15:45:23 2020
[问题类型]
程式谘询
[软体熟悉度]
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
我想要把栏位中的**区撷取出来,网路上看到很多正规式的方式,但因为资料格式不太一致,无法用选位置的方式,想请假板上的神人应该怎麽写,先感谢了!
[程式范例]:
https://i.imgur.com/6AwcUJ8.jpg
[环境叙述]:
R 3.6.0
[关键字]:
字串撷取
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.140.60.223 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1596613525.A.765.html
1F:推 andrew43: 我建议直接列举所有直辖市的区名去抓,比纯靠reg exp的 08/05 16:49
2F:→ andrew43: 逻辑还稳当。 08/05 16:49
3F:推 locka: 推Andrew大!有的区是三个字(ex:那玛夏区)直接用清单比对比 08/05 16:59
4F:推 locka: 较不会错 08/05 16:59
5F:→ love11098787: 这笔资料只有台北市的,看过区应该都刚好是三个字 08/05 17:31
6F:→ andrew43: 补上code,包括之後检查的方向。 08/05 18:07
8F:→ love11098787: 感谢A大!!!成功了 08/05 21:49
9F:→ love11098787: 遇到character(0)要怎麽删除,我用data[length(dat 08/06 09:54
10F:→ love11098787: a$region)>0]发现删不掉 08/06 09:54
11F:→ andrew43: `data`是list吗?用双重中括号 08/06 14:33
12F:→ andrew43: 更正,试试在我的code後res[sapply(res, length) != 0] 08/06 14:37
13F:→ love11098787: data是资料框 08/06 14:49
14F:→ love11098787: character(0)还是无法删除 08/06 14:57
15F:→ andrew43: 请以code重现你的操作。 08/06 15:04
16F:→ love11098787: data$region[sapply(data$region,length)!=0] 08/06 15:16
17F:→ andrew43: 没有完整重现困难的code与假资料实在无能为力 08/06 15:28
20F:→ andrew43: 试试用x<-character(0); identical(x, character(0))去 08/06 15:58
21F:→ andrew43: 一个一个检验。x应对应一个cell而非一整个column。 08/06 15:58
22F:→ love11098787: 找到方法了,在前面资料处理的时候拿掉不要的字串 08/06 17:31
23F:→ love11098787: ,之後就不会出现了,感谢你! 08/06 17:31