[問題](已補簡單例子與語法) left join併檔後出現重複row

作者: kakaman (日子過的真快阿)   2022-04-24 02:32:30
大家好,
最近因為資料量大的關係,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值
想請問大家有何方法可解決以上問題
作者: hohiyan (海洋)   2022-04-24 04:22:00
請提供語法跟範例檔案,不然很難猜問題在哪 @@
作者: evilove (願意感動就是一種享受)   2022-04-24 06:46:00
你join的key不是unique
作者: xiangying (xiangying)   2022-04-24 18:47:00
表二看你要根據哪個欄位取唯一(distinst),就可以了dostinctdistinct...
作者: EcPlEth (NewEt)   2022-04-24 19:02:00
因為你是按照編號,但編號在表二裡面有兩個,所以他只好兩row通通return給你你應該要先挑出表二裡面你要的rows,再去跟表一merge如同樓上講的,查查distinct的用法即可
作者: kakaman (日子過的真快阿)   2022-04-25 04:24:00
瞭解~~
作者: fox1375 (阿吠)   2022-04-26 11:04:00
只要第一筆是只要留日期比較早的?(通常是想留晚的……left_join() %>% arrange() %>% group_by() %>% slice(1)arrange日期、group_by編號,最後slice第一筆就可以了

Links booklink

Contact Us: admin [ a t ] ucptt.com