将两个数据帧合并为一个数据帧,其中值不等于

时间:2018-02-28 19:35:42

标签: r

有几个问题&关于这个主题的答案;然而,似乎没有人直接回答这个问题,或者我似乎无法找到它。我提前感谢你的帮助!

我有两个数据框

df1 <- write.csv("df1.csv")
df2 <- write.csv("df2.csv")

我想制作

df3 <- data.frame([df1$LikeColumn != df2$LikeColumn],)

我的目标是制作一个数据框(df3),其中包含所有观察(行),其中两个&#34; LikeColumn&#34;价值不相等。

注意:标题是相同的(df1 $ x标题与df2 $ x相同) 列数相同

行数不一样

1 个答案:

答案 0 :(得分:0)

使用基数R:

df1[! df1$LikeColumn %in% df2$LikeColumn, ]

使用dplyr

library(dplyr)
anti_join(df1, df2, by = "LikeColumn")

这个问题密切相关:Compare two data.frames to find the rows in data.frame 1 that are not present in data.frame 2,但它侧重于查找完整行,而在这种情况下,我们只查看单个列中的值。

另请参阅Find complement of a data frame,其中包含data.table解决方案,如果您拥有大量数据并将其转换为键控数据表,则效率最高。