首页 > 解决方案 > 两个不同数据集之间的哪些变量不同?

问题描述

所以我有两个不同的数据集(df_test 和 df_test_2),我希望能够分辨出它们之间的区别。我知道我可以使用 setdiff 来区分它们之间的差异,但我需要知道它们的不同之处。例如,我想查看 var_1 不同而其他一切都相同的行,并且我还想对 var_2 和所有其他变量进行相同的分析。无论如何我可以为这些变量设置标志吗?

df_test <- data.frame(id = c(0,1,1,1,2,3,4,5,5)
                          , var_1 = c("h","a","b","b","c","d","e","f","m"),
                          var_2=c("companyf","companyA","companyB","companyc","companyD","companyf","companyg","companyh","companyi"),
                          var_3=c(100,10,10,11,20,30,40,50,5))

    df_test_2= data.frame(id = c(1,1,1,2,3,4,5,5,6,6)
                             , var_1 = c("a","b","b","c","d","e","f","g","h","i"),
                             var_2=c("companyA","companyBB","companyc","companyD","companyf","companyg","companyh","companyi","companyii","companyff"),
                             var_3=c(10,10,11,200,30,40,50,5,40,20))

标签: rvariablesdifference

解决方案


我们可以尝试使用setdiff和修改您的方法which

搜索 df1 中存在但 df2 中不存在的 var_1 值

df1[which(df1$var_1 == setdiff(df1$var_1,df2$var_1)),]

var_1 的输出

  id var_1    var_2 var_3
9  5     m companyi     5

搜索 df1 中存在但 df2 中不存在的 var_2 值

df1[which(df1$var_2 == setdiff(df1$var_2,df2$var_2)),]

var_2 的输出

id var_1    var_2 var_3
3  1     b companyB    10

推荐阅读