如何比较两个表的值?

时间:2016-10-01 11:52:48

标签: r dataframe compare

我有两个数据框如下,我想将这些表的值一起比较(基于相同的行和列)并指定相同的值,否则为FALSE。

MonadIO m

2 个答案:

答案 0 :(得分:5)

创建两个数据集中常见的列名索引,根据该数据集对数据集进行子集化并进行比较(==

nm1 <- intersect(names(data1), names(data2))
cbind(data1[1], data1[nm1][-1]==data2[nm1][-1])
#   id     A     B
#1 m1 FALSE  TRUE
#2 m2  TRUE FALSE

答案 1 :(得分:5)

merge melt iddcast可以library(reshape2) df1 <- melt(data1,"id") df2 <- melt(data2,"id") df3 <- merge(df1,df2,by=c("id","variable")) df3$value <- df3$value.x == df3$value.y result <- dcast(df3, id~variable) ##id A B ##1 m1 FALSE TRUE ##2 m2 TRUE FALSE 找到相交的列。然后生成一个具有值的相等条件的新列。最后{{1}}返回输出表的宽格式:

{{1}}