[問題] 用多筆資料拼湊出完整資料表

作者: 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