作者paranoia5201 (社会黑暗、行路难)
看板R_Language
标题[问题] 用多笔资料拼凑出完整资料表
时间Fri Apr 26 18:04:10 2019
我的资料长相如下:
> head(list18c)
# A tibble: 6 x 8
姓名 单位 职称 地址 电话 传真号码 手机 email
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 廖AA 中正大学 教授 621嘉义县 <NA> <NA> 0918-333~ <NA>
2 田BB <NA> <NA> 100台北市 <NA> <NA> 0911-246~ <NA>
3 陈CC <NA> <NA> 407台中市 <NA> <NA> 0988-111~ <NA>
4 黄DD <NA> <NA> <NA> <NA> <NA> <NA> <NA>
5 陈EE 台湾大学 教授 <NA> <NA> <NA> <NA> <NA>
6 唐FF <NA> <NA> 242新北市 <NA> <NA> 0928-555~ <NA>
【目的】:拼凑出一个完整的资料表。
【说明】:
一、我有好几份资料,有相同的栏位,但是各自不齐全,唯一可比对的根据是「姓名」。
例如「田BB」在A资料表中有地址及手机,在B资料表中有单位和职称,
C资料表有email,D资料表有电话及传真号码。
可以如何下指令,让R可以自动拼凑出完整的表?
(简单的想法,是请R将不是NA的资料列给我,我再case by case於新表格上凑满)
(但是又有另一个问题,若有两个以上的资料表同时都有写同一栏位却不相同?)
二、若是有栏位误填(「单位」写教授、「职称」写「XX公司」),除了copy & paste,
有什麽较聪明的方法?
三、有关地址前面的邮递区号,若想要独立分割成新的栏位,但是有些是3码有些是5码,
有什麽方式可以指示「请从第一个数字切割到第一个中文字之前」?
以上,感谢解答~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.194.164.43
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1556273052.A.E25.html
1F:推 locka: 问题3 用 regular expression 04/26 20:29
2F:→ andrew43: 通常可以从merge开始试 04/27 00:49
3F:→ andrew43: 问题1 04/27 00:50
4F:→ andrew43: 问题2,单位和职称会有一些特徵 04/27 00:51
5F:→ paranoia5201: 感谢指导,我来试试看。 04/27 11:26
6F:推 TOOYA: 问题3,如果只有3码跟5码的话,就做第5位的判断就好了,第5 04/30 15:05
7F:→ TOOYA: 位如果是0~9则取5位,否则取3位 04/30 15:05