- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
R语言学习系列14-缺失值及缺失模式
14. 缺失值及缺失模式目录:一. 什么是缺失值?二. 识别缺失值三. 缺失模式及处理办法四.判断缺失模式正文:一、什么是缺失值?1. 缺失值缺失值是任何数据集中经常出现的问题,无回答、录入错误等调查中常会出现的现象都会导致缺失数据。缺失值通常会用一些特殊符号进行标记,比如9999、1990年1月1日,或者是“*”、“?”、“#”、“$”等符号。还有一种数值缺失情况,是统计的时间窗口并非对所有数据都适合。例如,需要“客户近6个月内的最大存款余额”,对于那些建立账户尚不满6个月的客户来说,统计出来的数值与想要得到的就可能存在差距。缺失数据会影响分析工作的进行和统计工作的效率,还会导致分析的偏差。数据使用者、分析者往往缺乏缺失值处理方面的知识,仅仅对数据进行简单删除或插补会影响数据规模和数据结构,进而影响分析结果。一般来说,对缺失值的填充方法,最好是先判断其缺失模式,再建立一些适当模型,根据数据的分布来填充一个更恰当的数值。R语言中,缺失值用NA表示。2. 缺失值的产生原因(1) 有些信息暂时无法获取(2) 有些信息是被遗漏的(3) 有些对象的某个或某些属性是不可用的(4) 有些信息(被认为)是不重要的(5) 获取这些信息的代价太大(6) 系统实时性能要求较高3. NA与NULL区别:NA表示数据集中的该数据遗失、不存在。在针对具有NA的数据集进行函数操作的时候,该NA不会被直接剔除。如x-c(1,2,3,NA,4)则mean(x)为NA如果想去除NA的影响,需要显式告知mean方法,如mean(x,na.rm=T)另外,NA会“追随”其他数据的类型。NULL表示未知的状态。它不会在计算之中,如x-c(1,2,3,NULL,4)则mean(x)为2.5NULL是不算数的,length(c(NULL))为0,而length(c(NA))为1。可见NA“占着”位置,它存在着,而NULL没有“占着”位置,或者说,“不知道”有没有真正的数据注:NaN表示“非数,不可能的值”,其识别函数为is.NaN()Inf和-Inf分别表示正无穷和负无穷,其识别函数为is.infinite()4. 处理缺失值的基本步骤(1) 识别缺失值(2) 判断缺失模式(完全随机缺失、随机缺失、完全非随机缺失)(3) 处理缺失值(删除、用合适的方法插补)5. 处理缺失值的方法及包二、识别缺失值在数据预处理中,首先要做的通常是判断是否存在缺失值。判断是否为缺失值的函数是is.na(),可以应用于向量、数据框等多种对象,返回逻辑值。另一个常用函数是VIM包中的complete.cases(),判断每个观测样本是否完整,TRUR表示完整。library(mice)#数据集nhanes2为mice包自带数据集,25个观测值,4个变量is.na(nhanes2)#判断每个值是否为缺失值,只粘贴部分运行结果agebmihypchl1 FALSE TRUE TRUETRUE2 FALSEFALSEFALSEFALSEsum(is.na(nhanes2))#共有几个缺失值[1] 27#计算每列的缺失百分比Rate - function(x){sum(is.na(x))/length(x)*100}apply(nhanes2,2,Rate)agebmihypchl0 36 32 40complete.cases(nhanes2)#判断每个样本是否完整 [1] FALSE TRUE FALSE FALSE TRUE FALSE TRUE [8] TRUETRUE FALSE FALSEFALSE TRUE TRUE[15] FALSE FALSE TRUETRUETRUE FALSE FALSE[22] TRUETRUE FALSE TRUEsum(!complete.cases(nhanes2))#不完整样本的个数[1] 12三、缺失模式及处理办法1. 缺失模式缺失模式是描述缺失值与观测变量间可能的关系。从缺失的分布来讲,缺失值可以分为:完全随机缺失(MCAR):某变量缺失值发生的可能性与其他变量无关也与该变量自身无关。换句话说,某变量缺失值的出现完全是个随机事件。可以将存在MCAR变量的数据看作是假定完整数据的一个随机样本(Rubin 1976);注:MCAR数据缺失的理想状态,但是可靠的缺失最大阈值是数据集总数的5%随机缺失(MAR):某变量出现缺失值的可能性与模型中某些观测变量有关而与该变量自身无关,例如,在一次测试中,如果IQ达不到最低要求的100分,那么将不能参加随后的人格测验。在人格测验上因为IQ低于100分而产生的缺失值;非随机缺失(MNAR)某变量出现缺失值的可能性只与自身相关,例如,公司新录用了20名员工,由于6名员工表现较差在试用期
文档评论(0)