[问题] 用多笔资料拼凑出完整资料表

楼主: paranoia5201 (迈向研究生)   2019-04-26 18:04:10
我的资料长相如下:
> 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码,
有什么方式可以指示“请从第一个数字切割到第一个中文字之前”?
以上,感谢解答~
作者: TOOYA (在草地等流星)   2019-04-30 15:05:00
问题3,如果只有3码跟5码的话,就做第5位的判断就好了,第5位如果是0~9则取5位,否则取3位
作者: locka (locka)   2019-04-26 20:29:00
问题3 用 regular expression
作者: andrew43 (讨厌有好心推文后删文者)   2019-04-27 00:49:00
通常可以从merge开始试问题1问题2,单位和职称会有一些特征
楼主: paranoia5201 (迈向研究生)   2019-04-27 11:26:00
感谢指导,我来试试看。

Links booklink

Contact Us: admin [ a t ] ucptt.com