在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
主要用到VIM和mice包
1.处理缺失值的步骤步骤: (1)识别缺失数据; (2)检查导致数据缺失的原因; (3)删除包含缺失值的实例或用合理的数值代替(插补)缺失值 缺失值数据的分类: (1)完全随机缺失:若某变量的缺失数据与其他任何观测或未观测变量都不相关,则数据为完全随机缺失(MCAR)。 (2)随机缺失:若某变量上的缺失数据与其他观测变量相关,与它自己的未观测值不相关,则数据为随机缺失(MAR)。 (3)非随机缺失:若缺失数据不属于MCAR或MAR,则数据为非随机缺失(NIMAR)。 2.识别缺失值NA:代表缺失值; NaN:代表不可能的值; Inf:代表正无穷; -Inf:代表负无穷。 is.na():识别缺失值; is.nan():识别不可能值; is.infinite():无穷值。 is.na()、is.nan()和is.infinte()函数的返回值示例
complete.cases()可用来识别矩阵或数据框中没有缺失值的行,若每行都包含完整的实例,则返回TRUE的逻辑向量,若每行有一个或多个缺失值,则返回FALSE; 3.探索缺失值模式(1)列表显示缺失值mice包中的md.pattern()函数可以生成一个以矩阵或数据框形式展示缺失值模式的表格
(2)图形探究缺失数据VIM包中提供大量能可视化数据集中缺失值模式的函数:aggr()、matrixplot()、scattMiss()
matrixplot()函数可生成展示每个实例数据的图形
浅色表示值小,深色表示值大;默认缺失值为红色。
(3)用相关性探索缺失值影子矩阵:用指示变量替代数据集中的数据(1表示缺失,0表示存在),这样生成的矩阵有时称作影子矩阵。 求这些指示变量间和它们与初始(可观测)变量间的相关性,有且于观察哪些变量常一起缺失,以及分析变量“缺失”与其他变量间的关系。
4.理解缺失值数据的来由和影响识别缺失数据的数目、分布和模式有两个目的: (1)分析生成缺失数据的潜在机制; (2)评价缺失数据对回答实质性问题的影响。 即: (1)缺失数据的比例有多大? (2)缺失数据是否集中在少数几个变量上,抑或广泛存在? (3)缺失是随机产生的吗? (4)缺失数据间的相关性或与可观测数据间的相关性,是否可以表明产生缺失值的机制呢? 若缺失数据集中在几个相对不太重要的变量上,则可以删除这些变量,然后再进行正常的数据分析; 若有一小部分数据随机分布在整个数据集中(MCAR),则可以分析数据完整的实例,这样仍可得到可靠有效的结果; 若以假定数据是MCAR或MAR,则可以应用多重插补法来获得有铲的结论。 若数据是NMAR,则需要借助专门的方法,收集新数据,或加入一个相对更容易、更有收益的行业。 5.理性处理不完整数据6.完整实例分析(行删除)函数complete.cases()、na.omit()可用来存储没有缺失值的数据框或矩阵形式的实例(行):
7.多重插补多重插补(MI)是一种基于重复模拟的处理缺失值的方法。 MI从一个包含缺失值的数据集中生成一组完整的数据集。每个模拟数据集中,缺失数据将使用蒙特卡洛方法来填补。 此时,标准的统计方法便可应用到每个模拟的数据集上,通过组合输出结果给出估计的结果,以及引入缺失值时的置信敬意。 可用到的包Amelia、mice和mi包 mice()函数首先从一个包含缺失数据的数据框开始,然后返回一个包含多个完整数据集的对象。每个完整数据集都是通过对原始数据框中的缺失数据进行插而生成的。 with()函数可依次对每个完整数据集应用统计模型 pool()函数将这些单独的分析结果整合为一组结果。 最终模型的标准误和p值都将准确地反映出由于缺失值和多重插补而产生的不确定性。
利用complete()函数可观察m个插补数据集中的任意一个,格式为:complete(imp,action=#) eg: 全部评论
专题导读
上一篇:win10上对比matlab来研究R语言的笔记发布时间:2022-07-18下一篇:R语言中"NA"与"NULL"的区别发布时间:2022-07-18热门推荐
热门话题
阅读排行榜
|
请发表评论