将两个数据帧合并为一个(df)与外部左连接(在df1上)并且不匹配rigth(在df2上)

时间:2016-02-09 15:24:28

标签: r

我有两个数据帧:df1包含62,107行和68列,df2包含98,323行和68列,结构相同。

想要来自df1的所有行和df2的非匹配行(在列名" PK");到最后的数据帧,df。

我一直在寻找外部联接与添加不匹配的请求,但没有找到任何组合语法。

我终于尝试过这样的事情:

df <- (merge(df1, df2, by.x = c("PK"), by.y = -c("PK")))

没用!

1 个答案:

答案 0 :(得分:0)

你应该使用sqldf,下面你将返回df2中不存在的所有行。

df <- sqldf("Select * from df1 LEFT JOIN df2 on df1.ID = df2.ID
      WHERE df2.ID IS NULL")

&#34; A想要来自df1的所有行和只有df2的非匹配行(在列名&#34; PK&#34;);到最后的数据帧,df。&#34;基本上完成这个你只​​需执行一个没有null子句的左连接。