You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中可视化对比两个Data Frame并高亮差异?

在R语言中对比两个Data Frame的可视化方法

针对你需要的值差异、缺失值、多余/缺失行的可视化对比需求,这里有几个实用的R包方案:

1. diffobj:类文本对比的高亮展示

这个包能把Data Frame当成文本内容来对比,像对比两段文字一样高亮单元格差异、新增/缺失行,支持控制台和HTML两种输出形式,适合快速直观查看差异。

# 安装并加载包
install.packages("diffobj")
library(diffobj)

# 构造示例数据
df1 <- data.frame(ID = 1:3, Value = c(10, 20, NA), Name = c("Alice", "Bob", "Charlie"))
df2 <- data.frame(ID = 1:4, Value = c(10, 25, NA, 30), Name = c("Alice", "Bob", "Charlie", "David"))

# 控制台直接查看对比(带颜色高亮)
diffObj(df1, df2)

# 生成HTML格式的对比报告(浏览器打开更清晰)
diffPrint(df1, df2, format = "html")

运行后会清晰标记出Value列的20 vs 25差异,以及df2新增的第4行,缺失值也会原样保留显示。

2. compareDF:结构化高亮对比表格

compareDF专门针对Data Frame做结构化对比,生成带颜色标记的对比表,能精准区分值差异、缺失值,以及行的增减情况,输出的HTML报告非常适合分享或存档。

# 安装并加载包
install.packages("compareDF")
library(compareDF)

# 指定主键(比如ID)对比两个数据框
comparison_result <- compare_df(df1, df2, "ID")

# 生成可视化HTML对比表
create_output_table(comparison_result, output_type = "html")

输出的表格中,不同单元格会用红/绿高亮,缺失值会特殊标记,新增或缺失的行也会单独标注,一目了然。

3. naniar:聚焦缺失值的对比可视化

如果需要重点关注两个Data Frame中缺失值分布的差异,可以用naniar的可视化工具快速定位:

# 安装并加载包
install.packages("naniar")
library(naniar)

# 分别绘制两个数据框的缺失值热图
gg_miss_upset(df1)
gg_miss_upset(df2)

通过对比两张热图,能快速看出两个数据框中缺失值的位置和数量差异。

内容的提问来源于stack exchange,提问作者Siddharth Somani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 09:57:30