R 将两个数据帧合并为一个(df),并使用外部左连接(在df1上)和不匹配的右连接(在df2上)
我有两个数据帧:R 将两个数据帧合并为一个(df),并使用外部左连接(在df1上)和不匹配的右连接(在df2上),r,R,我有两个数据帧:df1有62107行68列,而df2有98323行68列,结构相同 A需要df1中的所有行,并且只需要df2中的非匹配行(在列名“PK”上);最后一个数据帧,df 我一直在寻找添加了不匹配请求的外部联接,但没有找到任何组合语法 我终于尝试过这样的事情: df <- (merge(df1, df2, by.x = c("PK"), by.y = -c("PK"))) df您应该为此使用sqldf,下面您将返回df2中不存在的所有行 df <- sqldf("Selec
df1
有62107行68列,而df2
有98323行68列,结构相同
A需要df1
中的所有行,并且只需要df2
中的非匹配行(在列名“PK”上);最后一个数据帧,df
我一直在寻找添加了不匹配请求的外部联接,但没有找到任何组合语法
我终于尝试过这样的事情:
df <- (merge(df1, df2, by.x = c("PK"), by.y = -c("PK")))
df您应该为此使用sqldf,下面您将返回df2中不存在的所有行
df <- sqldf("Select * from df1 LEFT JOIN df2 on df1.ID = df2.ID
WHERE df2.ID IS NULL")
df请展示一个具有预期输出的可重复的小示例。您能更好地解释该结构吗?这将从df2中的df1匹配中排除条目。。。这不是我从OP句子中所理解的,但它写得太糟糕了,我可能错了……是的,很难说这个人到底在追求什么。实际上,从原始数据帧保留所有行的唯一方法是使用左a连接,但它将返回匹配和非匹配。谢谢,这就是我最后所做的。问题结束了!谢谢大家。