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

使用R语言VIM包绘制缺失值模式图,无法显示各列缺失值数量求助

解决VIM包aggr图不显示每列缺失值数量的问题

你遇到的问题根源在于代码里的only.miss=TRUE参数——这个参数会让aggr图仅展示包含缺失值的观测行模式,同时会自动隐藏图顶部用来显示每个变量缺失值计数的条形图区域,这就是你看不到每列缺失数量的原因。

修改后的可运行代码

只需要移除only.miss=TRUE参数(或者显式设置为only.miss=FALSE,这也是默认值),就能同时看到缺失模式分布和各列的缺失值数量了:

library(VIM)
tr <- sleep
aggr(tr, col=c('blue','tomato'), numbers=TRUE, sortVars=FALSE, 
     sortCombs=TRUE, combined=TRUE, labels=names(tr), 
     cex.axis=.6, prop = FALSE, ylab = "Pattern of missing data")

运行这段代码后,你会看到图的顶部有一组条形图,每个条形的高度对应该变量的缺失值数量,同时条形上方会标注具体的数值(因为你设置了numbers=TRUE)。

额外:提取缺失值的统计数据

如果你需要以数字形式查看每个变量的缺失值详情,可以把aggr()的结果保存到一个对象里,然后提取其中的统计信息:

# 保存aggr绘图的结果对象
missing_stats <- aggr(tr, col=c('blue','tomato'), numbers=TRUE, sortVars=FALSE, 
                      sortCombs=TRUE, combined=TRUE, labels=names(tr), 
                      cex.axis=.6, prop = FALSE, ylab = "Pattern of missing data")

# 查看各变量的缺失值数量和比例
print(missing_stats$missings)

这样就能得到类似如下的输出,清晰看到每列的缺失情况:

Count Percent
NonD     1     2.9
Dream    4    11.8
Sleep    4    11.8
Span     4    11.8
Gest     4    11.8

内容的提问来源于stack exchange,提问作者Balaji N

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:05:30