r - 尝试比较 R 中具有不同行和列的两个数据帧

标签 r compare

我正在尝试比较 R 中具有不同列和行的两个不同数据帧。 需要获取相同的数据为df3,任何行或列不同的数据为df4。在我的例子中,两个表中的id F、col1和col2是相同的。但其他列不是。

下面是我的数据集的样子:

set.seed(22)

df1 <- data.frame(id=sample(LETTERS, 9, FALSE), col1=sample(0:2, 9, TRUE),
                  col2 = sample(0:2, 9, TRUE))
df2 <- data.frame(id=sample(LETTERS, 17, FALSE), col1=sample(0:2, 17, TRUE),
                  col2 = sample(0:2, 17, TRUE),
                  col6 = sample(0:2, 17, TRUE))

df1 enter image description here

df2 enter image description here

我已经阅读了很多解决方案,但尚未找到简洁的解决方案,有什么建议吗?非常感谢任何帮助。

最佳答案

您可以使用 generics::intersect() 查找共同值,使用 generics::setdiff() 查找不同值。请注意,您需要指定 generics 包才能以您想要的格式获取它。

df3 <- generics::intersect(df1, df2[,1:3])
  #    id col1 col2
  # 1  F    1    0
  # 2  K    0    2

df4 <- generics::setdiff(df1, df2[,1:3])
  # id col1 col2
  #1  I    1    2
  #2  X    2    0
  #3  J    0    2
  #4  L    0    1
  #5  Q    1    0
  #6  E    1    0
  #7  C    1    0

关于r - 尝试比较 R 中具有不同行和列的两个数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75981688/

相关文章:

python - 比较 numpy 数组中的多列

python - 如何比较 2 个不同的 csv 文件并在没有 CSV-diff 的情况下输出差异

angular - 如何使用深度相等(Angular 7)

R - 图例 : assign multiple colours to the same text

java - 字符串比较无法正常工作?

r - sqldf 中的 DATEPART()

Windows 上的 RSelenium 问题与 startServer()

Python:比较两个可能有噪音的音频文件

r - 如何在ubuntu中安装的R中打印循环内的变量?

r - 将数据框中的列分成几个其他列