突出显示 R 中 2 个数据帧之间的差异

Highlight differences between 2 data frames in R

提问人:Siddharth Somani 提问时间:9/22/2023 更新时间:9/23/2023 访问量:25

问:

有没有办法比较 R 中的 2 个数据帧

我想要一个视觉比较,在那里我可以看到数据名气和差异被突出显示,类似于我比较两个段落时

我进行比较的目的是,我应该得到的结果可能有一些不同或缺失的额外行。

R 数据帧 比较

评论

0赞 Jon Spring 9/23/2023
waldo.r-lib.org
0赞 Siddharth Somani 9/23/2023
比较后,我看到导致错误的主要区别 old$country' 是类 <factor> 的 S3 对象,整数向量 new$country' 是一个字符向量('Argentina'、'Argentina'、'Argentina'、'Argentina'、'Argentina'......我应该如何纠正新的以使其与旧的相似?
0赞 Jon Spring 9/23/2023
as.character(FACTOR_VARIABLE)

答:

1赞 Stéphane Laurent 9/23/2023 #1

您可以使用 compareDF 包。要比较的两个数据帧必须具有相同的列结构。

library(compareDF)

df1 <- iris[1:5, ]
df1$Species <- as.character(df1$Species) # "unfactor"
df2 <- df1
df2[1, 1] <-10
df2[2, 5] <- "tulip"

# create comparison object
comp <- compare_df(df1, df2)

# visualize it in a "git diff" style
create_output_table(comp)

在此处输入图像描述

# wide format
create_wide_output(comp)
#   rowname Species_old Species_new Sepal.Width_old Sepal.Width_new
# 1       1      setosa      setosa             3.5             3.5
# 2       2       tulip      setosa             3.0             3.0
#   Sepal.Length_old Sepal.Length_new Petal.Width_old Petal.Width_new
# 1             10.0              5.1             0.2             0.2
# 2              4.9              4.9             0.2             0.2
#   Petal.Length_old Petal.Length_new
# 1              1.4              1.4
# 2              1.4              1.4

您还可以使用 dataCompareR 包(请参阅小插图)。