前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言缺失值处理的结果可视化

R语言缺失值处理的结果可视化

作者头像
一粒沙
发布2021-01-21 18:09:44
1.9K0
发布2021-01-21 18:09:44
举报
文章被收录于专栏:R语言交流中心

缺失值的发现和处理在我们进行临床数据分析的时候是非常重要的环节。今天给大家介绍一个包mice主要用来进行缺失值的发现与填充。同时结合VIM包进行缺失变量的可视化展示。

首先我们看下包的安装:

代码语言:javascript
复制
install.packages("mice")install.packages("VIM")

我们直接看下具体的实例:

代码语言:javascript
复制
library(mice)library(VIM)library(lattice)library("survival")#数据集nhanes
代码语言:javascript
复制
##查看数据缺失的模式md.pattern(nhanes)

还有另外一种描述展示:

代码语言:javascript
复制
fluxplot(nhanes)

从上图我可以看出变量越往左上代表确实越少,越往右下代表缺失越严重。

接下来就是我们如何填充呢,缺失值填充函数mice中包含了很多的填充方法:

那么如何选择对应的方法,那么我们需要进行评估,通过查看迭代后的结果的收敛先进行评估数据填充方法,我们以默认的方法为例:

代码语言:javascript
复制
imp <- mice(nhanes, print=F)plot(imp)

从上面的结果我们直接看所有的折线是否聚集在一起,聚集就代表收敛性好,当然,这里只是对比每次迭代后的均值和方差。

当然,我们还有另外一种方法评估数据填充方法的可靠性,那就是直接对比推算结果和原始结果的差异。直接看实例:

代码语言:javascript
复制
stripplot(imp, chl~.imp, pch=20, cex=2)

图中蓝色为原始数据,红色为推算的结果。可以看出基本的分布式是一致的,,当然也存在一定的差异。

我们也可以直接看全部的变量的情况:

代码语言:javascript
复制
stripplot(imp)

我们还可以看下每个变量的分布密度图是否存在差异。

代码语言:javascript
复制
densityplot(imp)

最后我们看下在VIM中是如何可视化结果的。我们直接通过实例来看下:

代码语言:javascript
复制
dd=aggr(nhanes)plot(dd,numbers = TRUE, prop = FALSE)

从图中我们可以看出各变量的缺失情况以及分布情况。如果想查看两个变量的情况时,还可以使用另外一种展示方式:

代码语言:javascript
复制
marginplot(nhanes[,c(1,2)])

当然还可以展示填充的情况:

代码语言:javascript
复制
x_imputed <- kNN(nhanes[,c(1,2)])marginplot(x_imputed, delimiter ="_imp")

图中橘黄色代表填充的点数据。当然还有一个impute包专门用来进行缺失值填充的,大家可以根据自己的需要进行选择,我是觉得有图有真相。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言交流中心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档