[问题](已补简单例子与语法) 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