[問題] left join併檔後出現重複row

看板R_Language作者 (日子過的真快阿)時間2年前 (2022/04/24 02:32), 2年前編輯推噓4(409)
留言13則, 6人參與, 2年前最新討論串1/1
大家好, 最近因為資料量大的關係,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://www.ptt.cc/bbs/R_Language/M.1650738752.A.C6D.html

04/24 04:22, 2年前 , 1F
請提供語法跟範例檔案,不然很難猜問題在哪 @@
04/24 04:22, 1F

04/24 06:46, 2年前 , 2F
你join的key不是unique
04/24 06:46, 2F
※ 編輯: kakaman (223.136.221.44 臺灣), 04/24/2022 16:58:53

04/24 18:47, 2年前 , 3F
表二看你要根據哪個欄位取唯一(distinst),就可以了
04/24 18:47, 3F

04/24 18:47, 2年前 , 4F
dostinct
04/24 18:47, 4F

04/24 18:48, 2年前 , 5F
distinct...
04/24 18:48, 5F

04/24 19:02, 2年前 , 6F
因為你是按照編號,但編號在表二裡面有兩個,所以他只好
04/24 19:02, 6F

04/24 19:02, 2年前 , 7F
兩row通通return給你
04/24 19:02, 7F

04/24 19:02, 2年前 , 8F
你應該要先挑出表二裡面你要的rows,再去跟表一merge
04/24 19:02, 8F

04/24 19:02, 2年前 , 9F
如同樓上講的,查查distinct的用法即可
04/24 19:02, 9F

04/25 04:24, 2年前 , 10F
瞭解~~
04/25 04:24, 10F

04/26 11:04, 2年前 , 11F
只要第一筆是只要留日期比較早的?(通常是想留晚的……
04/26 11:04, 11F

04/26 11:05, 2年前 , 12F
left_join() %>% arrange() %>% group_by() %>% slice(1)
04/26 11:05, 12F

04/26 11:06, 2年前 , 13F
arrange日期、group_by編號,最後slice第一筆就可以了
04/26 11:06, 13F
文章代碼(AID): #1YP4P0nj (R_Language)
文章代碼(AID): #1YP4P0nj (R_Language)