使用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
相关产品推荐
相关产品推荐

