数据分析网

18.1、R语言探索缺失值模式—零基础入门教程

微信扫码观看完整版RStudio视频课程、分析师在线答疑解惑哦~

微信扫码-通用.jpg

视频教程
课程摘要

在R语言中,探索缺失值模式是数据预处理的重要步骤之一。通过分析数据中的缺失值模式,我们可以了解缺失值的分布情况和可能的原因,从而采取相应的处理策略。R语言中的mice包和VIM包提供了一些函数和方法来探索缺失值模式。这些函数可以帮助我们计算缺失值的数量和比例,绘制缺失值的热图和缺失值的模式图,以及进行缺失值的模式分析。通过使用R语言中的探索缺失值模式的方法,我们可以更好地理解数据中的缺失情况,并为后续的缺失值处理提供指导。这有助于提高数据的完整性和准确性,从而提高后续分析的可靠性和有效性。
【详细教程

R语言探索缺失值模式


一、列表显示缺失值


你已经学习了一些识别缺失值的基本方法。比如使用complete.cases()函数列出完 整的实例,或者相反,列出含一个或多个缺失值的实例。但随着数据集的增大,该方法就逐渐丧失了吸引力。


此时你可以转向其他R函数。

mice包中的md.pattern()函数可生成一个以矩阵或数据框形式展示缺失值模式的表格。将函数应用到sleep 数据集,可得到:


1.png


表中的1和0显示了缺失值模式:0表示变量的列中有缺失值,1则表示没有缺失值。


第一行表述了“无缺失值”的模式(所有元素都为1)。

第二行表述了“除了span 之外无缺失值”的模式。

第一列表示各缺失值模式的实例个数,最后一列表示各模式中有缺失值的变量的个数。


处可以看到,有42个实例没有缺失值,仅2个实例缺失了Span。9个实例同时缺失了NonD和Dream的值。数据集包含了总共(42×0)+(2×1)+…+(1×3)=38个缺失值。最后一行给出了每个变量中缺失值的数目。


二、图形探究缺失数据


虽然md.pattern()函数的表格输出非常简洁,但我通常觉得用图形展示模式更为清晰。VIM包提供了大量能可视化数据集中缺失值模式的函数,本节我们将学习其中几个:aggr()、 matrixplot()和scattMiss()。


aggr()函数不仅绘制每个变量的缺失值数,还绘制每个变量组合的缺失值数。

例如:

library("VIM")

aggr(sleep, prop=FALSE, numbers=TRUE)

上述代码的结果见下图。


2.png


可以看到,变量NonD有最大的缺失值数(14),有2种哺乳动物缺失了NonD、Dream和Sleep的评分。42种动物没有缺失值。


代码aggr(sleep,prop=TRUE,numbers=TRUE)将生成相同的图形,但用比例代替了计数。选项numbers=FALSE(默认)删去数值型标签。


matrixplot()函数可生成展示每个实例数据的图形。 matrixplot(sleep)的图形如下图所示。此处,数值型数据被重新转换到[0,1]区间,并用灰度来表示大小:浅色表示值小,深色表示值大。默认缺失值为红色。注意,在下图中,红色经过手工阴影化处理,因此相对于灰 色缺失值非常显眼。你可以自己创建图形,让它与众不同。


3.png


该图形可以交互,单击一列会按其对应的变量重排矩阵。上图中的行按Bodywgt降序排列。 通过矩阵图,你可以看出某些变量的缺失值模式是否与其他变量的真实值有关联。此图中可以看到,无缺失值的睡眠变量 (Dream、NonD和Sleep)对应着较小的体重 (Bodywgt)或脑重(Brainwgt)。


marginplot()函数可生成一幅散点图,在图形边界展示两个变量的缺失值信息。以做梦时长与哺乳动物妊娠期时长的关系为例,来看下列代码:

marginplot   (sleep[c("Gest","Dream")],pch=c(20),

col=c("darkgray","red","blue"))

它的生成图形见下图。参数pch和col为可选项,控制绘图符号和使用的颜色。


4.png


图形的主体是Gest和Dream(两变量数据都完整)的散点图。左边界的箱线图展示的是包含(深灰色)与不包含(红色)Gest值的Dream变量分布。注意,在灰度图上红色是更深的阴影。 四个红色的点代表缺失了Gest得分的Dream值。在底部边界上, Gest和Dream间的关系反过来了。可以看到,妊娠期和做梦时长呈负相关,缺失妊娠期数据时动物的做梦时长一般更长。两个变量均有缺失值的观测个数在两边界交叉处用蓝色输出(左下角的0)。


VIM包有许多图形可以帮助你理解缺失数据在数据集中的模式,包括用散点图、箱线图、直 方图、散点图矩阵、平行坐标图、轴须图和气泡图来展示缺失值的信息,因此这个包很值得探索。


三、用相关性探索缺失值


在继续下文之前,还有些方法值得注意。你可用指示变量替代数据集中的数据(1表示缺失, 0表示存在),这样生成的矩阵有时被称作影子矩阵。求这些指示变量之间和它们与初始(可观测)变量之间的相关性,有助于观察哪些变量常一起缺失,以及分析变量“缺失”与其他变量间的关系。

请看如下代码:


5.png

6.png


以下代码:

y<- x[which(apply(x,2,sum)>0)]

可提取含(但不全部是)缺失值的变量,而cor(y)可列出这些指示变量间的相关系数:


7.png


此时,你可以看到Dream和NonD常常一起缺失(r=0.91)。 相对可能性较小的是Sleep和NonD一 起缺失(r=0.49), 以及Sleep和Dream(r=0.20)。


最后,你可以看到含缺失值变量与其他可观测变量间的关系:


8.png


在这个相关系数矩阵中,行为可观测变量,列为表示缺失的指示变量。你可以忽略矩阵中的警告信息和NA值,这些都是方法中人为因素所导致的。


从相关系数矩阵的第一列可以看到,体重越大 (r=0.227)、 妊娠期越长(r=0.202)、 睡眠暴露度越大(r=0.245)的动物无梦睡眠的评分更可能缺失。其他列的信息也可以按类似方式得出。注意,表中的相关系数并不特别大,表明数据是MCAR的可能性比较小,更可能为MAR。


不过也绝不能排除数据是NMAR的可能性,因为你并不知道缺失数据背后对应的真实数据是怎么样的。比如,你不可能知道哺乳动物做梦时长与该变量数据缺失概率间的关系。当缺乏强力的外部证据时,我们通常假设数据是MCAR或者MAR。



热门软件

热门软件

免费下载

【软件下载】点击下载:https://pan.baidu-download.com/extract/spss.html提取码:点击获取【软件介绍】SPSS是全球领先的统计分析软件,为研究人员和数据分析师提供强大的数据处理和分析功能。无论是进行数据探索、模型建立还是结果解释,SPSS都能提供全面的解决方案。其直观的用户界面和丰富的统计工具使得数据分析变得简单而高效。【安装步骤】1. 首先,右击...
【软件下载】点击下载:https://pan.baidu-download.com/extract/stata.html‍提取码:点击获取【软件介绍】STATA软件是一款功能强大的统计分析工具,被广泛应用于社会科学、经济学、生物医学等领域。它提供了丰富的统计方法和数据处理功能,可以进行数据清洗、数据可视化、回归分析、时间序列分析等操作。【安装步骤】1. 鼠标右击【Stata17.0(64bi...
【软件下载】点击下载:https://pan.baidu-download.com/extract/eviews.html‍提取码:点击获取‍【软件介绍】EViews是一款功能强大的经济统计分析软件,广泛应用于经济学、金融学等领域。它提供了丰富的数据处理、分析和建模工具,能够帮助用户进行数据的可视化、回归分析、时间序列分析等操作。【安装步骤】1.鼠标右击【EViews13(64bit)】压缩...
【软件下载】点击下载:https://pan.baidu-download.com/extract/matlab.html‍‍‍提取码:点击获取‍【软件介绍】MATLAB是一种高级技术计算和编程环境,广泛用于科学、工程和数学领域的数据分析、模拟和可视化。它是由MathWorks公司开发的,提供了丰富的函数库和工具箱,用于处理矩阵运算、信号处理、图像处理、优化、统计分析等各种任务。【安装步骤】...
【软件下载】百度云下载:https://pan.baidu-download.com/extract/python.html‍‍‍‍提取码:点击获取‍【软件介绍】Python是一种高级编程语言,具有简单易学、可读性强的特点。它被广泛应用于数据分析、人工智能、Web开发等领域。Python拥有丰富的库和框架,如NumPy、Pandas、TensorFlow等,可以方便地进行数据处理、机器学习和...
【软件下载】立即下载:https://pan.baidu-download.com/extract/rstudio.html‍‍‍‍‍提取码:点击获取‍‍【软件介绍】RStudio是一款专业的集成开发环境(IDE),用于R语言的开发和数据分析。它提供了丰富的功能和工具,包括代码编辑、调试、数据可视化和报告生成等。通过RStudio,用户可以高效地编写和运行R代码,进行数据处理、统计分析和机器...
【软件下载】点击下载:https://pan.baidu-download.com/Extraction/Amos.html提取码:点击获取‍【软件介绍】AMOS是一款广泛应用于社会科学、教育研究、市场调研等领域的统计分析软件,它提供了强大的功能和直观的界面,帮助用户进行复杂的结构方程建模和模型验证,从而深入分析数据之间的关系和影响。【安装步骤】1.鼠标右击【Amos28】压缩包(win11...
【软件下载】点击下载:https://pan.baidu-download.com/Extraction/Mplus.html提取码:点击获取‍【软件介绍】Mplus是一款专业的统计分析软件,主要用于结构方程模型(SEM)和混合效应模型(HLM)的建模和分析。Mplus提供了丰富的功能和工具,包括路径分析、因子分析、多水平建模等。Mplus的用户界面友好易用,支持图形化操作,使得模型构建和分...
【软件下载】点击下载:https://pan.baidu-download.com/Extraction/Origin.html提取码:点击获取‍【软件介绍】Origin是一款功能强大的科学数据分析和可视化软件,广泛应用于各个领域的数据处理和研究工作。Origin提供了丰富的数据分析工具和图形绘制功能,帮助用户快速处理和分析数据,并将结果以直观的图表形式展示。【安装步骤】1.鼠标右击【Ori...
【软件下载】百度云下载:https://pan.baidu.com/s/1CVXkLwjhLDw_7H6FV9O47Q‍‍‍‍‍提取码:点击获取【软件介绍】Excel是一款功能强大的电子表格软件,广泛应用于数据分析、数据处理和数据可视化。Excel提供了丰富的功能和工具,包括数据排序、筛选、公式计算、图表绘制等。它的用户界面简洁直观,操作便捷,适用于各种行业和领域。【安装步骤】1.选中下载的...
热门课程

热门课程

排行榜

【软件下载】点击下载:https://pan.baidu-download.com/extract/spss.html提取码:点击获取【软件介绍】SPSS是全球领先的统计分析软件,为研究人员和数据分析师提供强大的数据处理和分析功能。无论是进行数据探索、模型建立还是结果解释,SPSS都能提供全面的解决方案。其直观的用户界面和丰富的统计工具使得数据分析变得简单而高效。【安装步骤】1. 首先,右击...
【软件下载】点击下载:https://pan.baidu-download.com/extract/stata.html‍提取码:点击获取【软件介绍】STATA软件是一款功能强大的统计分析工具,被广泛应用于社会科学、经济学、生物医学等领域。它提供了丰富的统计方法和数据处理功能,可以进行数据清洗、数据可视化、回归分析、时间序列分析等操作。【安装步骤】1. 鼠标右击【Stata17.0(64bi...
【软件下载】点击下载:https://pan.baidu-download.com/extract/eviews.html‍提取码:点击获取‍【软件介绍】EViews是一款功能强大的经济统计分析软件,广泛应用于经济学、金融学等领域。它提供了丰富的数据处理、分析和建模工具,能够帮助用户进行数据的可视化、回归分析、时间序列分析等操作。【安装步骤】1.鼠标右击【EViews13(64bit)】压缩...
【软件下载】点击下载:https://pan.baidu-download.com/extract/matlab.html‍‍‍提取码:点击获取‍【软件介绍】MATLAB是一种高级技术计算和编程环境,广泛用于科学、工程和数学领域的数据分析、模拟和可视化。它是由MathWorks公司开发的,提供了丰富的函数库和工具箱,用于处理矩阵运算、信号处理、图像处理、优化、统计分析等各种任务。【安装步骤】...
【软件下载】百度云下载:https://pan.baidu-download.com/extract/python.html‍‍‍‍提取码:点击获取‍【软件介绍】Python是一种高级编程语言,具有简单易学、可读性强的特点。它被广泛应用于数据分析、人工智能、Web开发等领域。Python拥有丰富的库和框架,如NumPy、Pandas、TensorFlow等,可以方便地进行数据处理、机器学习和...
【软件下载】立即下载:https://pan.baidu-download.com/extract/rstudio.html‍‍‍‍‍提取码:点击获取‍‍【软件介绍】RStudio是一款专业的集成开发环境(IDE),用于R语言的开发和数据分析。它提供了丰富的功能和工具,包括代码编辑、调试、数据可视化和报告生成等。通过RStudio,用户可以高效地编写和运行R代码,进行数据处理、统计分析和机器...
【软件下载】点击下载:https://pan.baidu-download.com/Extraction/Amos.html提取码:点击获取‍【软件介绍】AMOS是一款广泛应用于社会科学、教育研究、市场调研等领域的统计分析软件,它提供了强大的功能和直观的界面,帮助用户进行复杂的结构方程建模和模型验证,从而深入分析数据之间的关系和影响。【安装步骤】1.鼠标右击【Amos28】压缩包(win11...
【软件下载】点击下载:https://pan.baidu-download.com/Extraction/Mplus.html提取码:点击获取‍【软件介绍】Mplus是一款专业的统计分析软件,主要用于结构方程模型(SEM)和混合效应模型(HLM)的建模和分析。Mplus提供了丰富的功能和工具,包括路径分析、因子分析、多水平建模等。Mplus的用户界面友好易用,支持图形化操作,使得模型构建和分...
数据分析网 专业数据分析服务
专业学术和研究领域的综合性数据分析服务平台
——————————————————————————————————————————————————————
微信客服            
本站教程已获得国家版权登记证书,受版权保护。未经授权,任何个人或机构不得以任何形式复制、传播、修改或用于商业目的。违反者将承担法律责任。
如需使用本站教程内容,请联系我们获取授权。谢谢合作!
以下为部分版权登记号:鲁作登字-2023-L-00466766   鲁作登字-2023-L-00466759   鲁作登字-2023-L-00466761   鲁作登字-2023-L-00466763   鲁作登字-2023-L-00466757