R语言-缺失值处理 - cloudtj.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
R语言-缺失值处理 - cloudtj

R语言-缺失值处理 5 - cloudtj - 博客 园 R语言 :缺失值处理 前言 刚接触缺失数据研究的读者 能会被各式各样的方法和言论弄得眼花缭乱。该领域经典的读本是 Little和Rubin的Statistical Analysis with Missing Data, Second Edition (2002 )一书。其他比较 优秀的专著还有Allison的Missing Data (2001 )、Schafer和Graham的Missing Data: Our View of the State of the Art (2002 ),以及Schlomer、Bauman和Card的Best Practices for Missing Data Management in Counseling Psychology (2010 )。 一个完整的处理方法通常包含以下几个步骤 : (1) 识别缺失数据 ; (2) 检查导致数据缺失的原因 ; (3) 删除包含缺失值的实例或用合理的数值 替 (插补 )缺失值。 但遗憾的是 ,仅有识别缺失数据是最清晰明确的步骤。知道数据为何缺失依赖于你对数据生成过程 的理解 ,而决定如何处理缺失值则需要判断哪种方法的结果最为 靠和精确。 统计学家通常将缺失数据分为三类。它们都用概率术语进行描述 ,但思想都非常直观。我们将用 sleep研究中对做梦时长的测量 (有12个动物有缺失值 )来依次阐述三种类型。 (1) 完全随机缺失 若某变量的缺失数据与其他任何观测或未观测变量都不相关 ,则数据为完全随机 缺失 (MCAR )。若12个动物的做梦时长值缺失不是由于系统原因 ,那么 认为数据是MCAR。注 意 ,如果每个有缺失值的变量都是MCAR ,那么 以将数据完整的实例看做是对更大数据集的一个简 单随机抽样。 (2) 随机缺失 若某变量上的缺失数据与其他观测变量相关 ,与它自己的未观测值不相关 ,则数据为 随机缺失 (MAR )。例如 ,体重较小的动物更 能有做梦时长的缺失值 ( 能因为较小的动物较难 观察 ), “缺失”与动物的做梦时长无关 ,那么该数据就 以认为是MAR。此时 ,一旦你控制了体 重变量 ,做梦时长数据的缺失与出现将是随机的。 (3) 非随机缺失 若缺失数据不属于MCAR或MAR ,则数据为非随机缺失 (NMAR )。例如 ,做梦时 长越短的动物也更 能有做梦数据的缺失 ( 能由于难以测量时长较短的事件 ),那么数据 认为是 NMAR。大部分处理缺失数据的方法都假定数据是MCAR或MAR。此时 ,你 以忽略缺失数据的生 成机制 ,并且 (在替换或删除缺失数据后 ) 以直接对感兴趣的关系进行建模。当数据是NMAR 时 ,想对它进行恰当地分析比较困难 ,你既要对感兴趣的关系进行建模 ,还要对缺失值的生成机制进 行建模。 处理缺失数据的方法有很多 ,但不能保证都生成一样的结果。下图列出了一系列 用来处理不完整 数据的方法 ,以及相应的R包。 目录 1. 识别缺失数据 2. 探索缺失值模式 3. 理解缺失值数据的来由和影响 4. 处理缺失值完整实例分析 5. 处理缺失值的其他方法 主要程序包 install.packages(c(VIM,mice)) library(VIM) library(mice) 1. 识别缺失数据 首先 ,我们回顾一下前节的内容并地一步拓展。R使用NA (不 得 )代表缺失值 ,NaN (不是一个 数 )代表不 能的值。另外 ,符号Inf和-Inf分别代表正无穷和负无穷。函数is.na()、is.nan()和 is.infinite()可分别用来识别缺失值、不可能值和无穷值。每个返回结果都是TRUE或FALSE。表15-1 给出了一些示例。 这些函数返回的对象与其自身参数的个数相同。若每个元素的类型检验通过 ,则由TRUE替换 ,否则 用FALSE替换。例如 ,令y - c(1, 2, 3, NA) ,则is.na(y)返回向量c(FALSE, FALSE, FALSE,T

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档