两个 CSV 被读入两个不同的数据帧。在比较中,要求显示存在差异的确切值。
我尝试了which
他们的方法。它返回一些指示数据帧之间差异的索引。我尝试了以下代码:
test.data <- fread("file1.csv",stringsAsFactors = FALSE,blank.lines.skip = TRUE)
truth.data <- fread("file2.csv",stringsAsFactors = DALSE,blank.lines.skip = TRUE)
mismatch <- which(data.frame(test.data) != data.frame(truth.data))
print(mismatch)
它which
的输出是指数,如:
不匹配>“3”“4”“8”“9”
在索引的帮助下访问数据帧的不同值,但它超出了 frame 或 print 的范围NA
。
我也尝试了setdiff()
和anti_join()
方法,但它们只会显示第一个数据帧的不同值test.data
。
print(anti_join(data.frame(test.data), data.frame(truth.data)))
print(setdiff(data.frame(test.data), data.frame(truth.data)))
所需的输出就像假设在 test.data 中的某些行和某些列中与 truth.data 中的不同。所以这两个不同的值应该显示在控制台上。
像:我们可以看到两个样本的第二列是不同的,所以我需要并排显示两个数据帧的不同值,以便我们可以轻松区分它们。列数可能不同,并且多于两行或两列具有不同的值。
在这方面帮助我。提前致谢!!!