R dplyr left join-多个返回值和新行:如何仅请求第一个匹配?

R dplyr left join-多个返回值和新行:如何仅请求第一个匹配?,r,dplyr,R,Dplyr,比如说,我在另一张表上列出了郊区的名字、犯罪率和他们的议会名称 我知道left_join(table1,table2,by=郊区)将返回带有新添加行的表,因为council有多个匹配项。问题是郊区3号和4号重叠成两个市政局 有没有办法只让左连接只返回第一个匹配项,而不创建新行以方便额外的行 此外,在表2中,是否有一个函数仅保留每个郊区的第一行,并删除第二/第三/第四个发生第二/第三/第四委员会重叠的实例?您可以使用plyr包和join()函数来实现这一点。与left_join(表1,表2,by

比如说,我在另一张表上列出了郊区的名字、犯罪率和他们的议会名称

我知道left_join(table1,table2,by=郊区)将返回带有新添加行的表,因为council有多个匹配项。问题是郊区3号和4号重叠成两个市政局

有没有办法只让左连接只返回第一个匹配项,而不创建新行以方便额外的行


此外,在表2中,是否有一个函数仅保留每个郊区的第一行,并删除第二/第三/第四个发生第二/第三/第四委员会重叠的实例?

您可以使用plyr包和join()函数来实现这一点。与left_join(表1,表2,by=郊区)等效,但仅使用表2中的第一个郊区匹配将是:join(表1,表2,by=郊区,type=“left”,match=“first”)。我不确定dplyr软件包中的等价物是什么,但我很想了解我自己。

加入之前你能过滤一下表吗?通过这种方式,您可以显式选择所需内容。如果行重复,您可以尝试使用
distinct()
删除多个实例。应该是:by=“郊区”