看板 R_Language 關於我們 聯絡資訊
大家好, 最近因為資料量大的關係,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
hohiyan: 請提供語法跟範例檔案,不然很難猜問題在哪 @@ 04/24 04:22
evilove: 你join的key不是unique 04/24 06:46
※ 編輯: kakaman (223.136.221.44 臺灣), 04/24/2022 16:58:53
xiangying: 表二看你要根據哪個欄位取唯一(distinst),就可以了 04/24 18:47
xiangying: dostinct 04/24 18:47
xiangying: distinct... 04/24 18:48
EcPlEth: 因為你是按照編號,但編號在表二裡面有兩個,所以他只好 04/24 19:02
EcPlEth: 兩row通通return給你 04/24 19:02
EcPlEth: 你應該要先挑出表二裡面你要的rows,再去跟表一merge 04/24 19:02
EcPlEth: 如同樓上講的,查查distinct的用法即可 04/24 19:02
kakaman: 瞭解~~ 04/25 04:24
fox1375: 只要第一筆是只要留日期比較早的?(通常是想留晚的…… 04/26 11:04
fox1375: left_join() %>% arrange() %>% group_by() %>% slice(1) 04/26 11:05
fox1375: arrange日期、group_by編號,最後slice第一筆就可以了 04/26 11:06