作者kakaman (日子過的真快阿)
看板R_Language
標題[問題] left join併檔後出現重複row
時間Sun Apr 24 02:32:30 2022
大家好,
最近因為資料量大的關係,excel已不敷使用……
故嘗試使用R進行資料整併。
在用left join時,發現會抓出多重重複row
想請有經驗的前輩指點一下如何只抓出第一筆。
謝謝
範例:
表一:
編號 姓名
1 小明
2 小華
3 小美
表二
姓名 編號 試驗日期 試驗結果
小明 1 4/1 陽性
小明 1 4/10 陰性
小華 2 4/5 陰性
小美 3 4/9 不確定
> Left join(表一,表二,by ="編號")
以上輸入後會發現小明有2筆,但我只需要第一筆...
但我的資料很難取一個顯示特異性的key值
想請問大家有何方法可解決以上問題
----
Sent from
BePTT on my Samsung SM-G975F
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.212.49 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1650738752.A.C6D.html
1F:→ hohiyan: 請提供語法跟範例檔案,不然很難猜問題在哪 @@ 04/24 04:22
2F:推 evilove: 你join的key不是unique 04/24 06:46
※ 編輯: kakaman (223.136.221.44 臺灣), 04/24/2022 16:58:53
3F:推 xiangying: 表二看你要根據哪個欄位取唯一(distinst),就可以了 04/24 18:47
4F:→ xiangying: dostinct 04/24 18:47
5F:→ xiangying: distinct... 04/24 18:48
6F:推 EcPlEth: 因為你是按照編號,但編號在表二裡面有兩個,所以他只好 04/24 19:02
7F:→ EcPlEth: 兩row通通return給你 04/24 19:02
8F:→ EcPlEth: 你應該要先挑出表二裡面你要的rows,再去跟表一merge 04/24 19:02
9F:→ EcPlEth: 如同樓上講的,查查distinct的用法即可 04/24 19:02
10F:→ kakaman: 瞭解~~ 04/25 04:24
11F:推 fox1375: 只要第一筆是只要留日期比較早的?(通常是想留晚的…… 04/26 11:04
12F:→ fox1375: left_join() %>% arrange() %>% group_by() %>% slice(1) 04/26 11:05
13F:→ fox1375: arrange日期、group_by編號,最後slice第一筆就可以了 04/26 11:06