美文网首页R
数据缺失值处理 -- R

数据缺失值处理 -- R

作者: MaiyuAmmy | 来源:发表于2020-06-09 14:12 被阅读0次

转载https://blog.csdn.net/yyykkklll123/article/details/83867076

步骤:

1.识别缺失值

2.分析缺失的原因

3.查看缺失值情况

4.处理缺失值

识别

判断缺失值:is.na()

识别矩阵或数据框中的完整观测:complete.cases()

any(is.na(data)):检查是否存在缺失值

head(is.na(data $ col1),5):查看数据data中col1列前5个数据的缺失情况

sum(is.na(data $ col1)):计算col1列中的缺失值个数

sum(!is.na(data $ col1)):计算col1列中的非缺失值个数

mean(!complete.cases(data)):计算data中完整行的百分比

newdata=data[complete.cases(data),]:从data中提取出完整观测

deldata=data[!complete.cases(data),]:从data中提取出非完整观测

分析缺失的原因

MCAR:完全随机缺失,即某变量缺失值与它所在变量其他观测值无关,与其他变量也无关。

MAR:随机缺失,即某变量出现缺失与其他变量相关,与自身未观测值不相关(大多数情况下处理的都是这种数据)

MANR:非随机缺失,即变量出现缺失与其观测值有关,需要用专门的方法重新收集数据。

查看缺失值情况

1.列表显示:

加载mice包(实现处理丢失数据方法的包)

md.pattern()函数:md.pattern(x, plot = TRUE)

生成一个显示缺失值模式(0,1)的表格,0表示列中有缺失值,1表示没有

2.图形显示:

加载VIM包(可视化缺失值、插补值)

aggr()函数:绘制变量缺失值个数

aggr(x, delimiter = NULL, plot = TRUE, …)

处理缺失值

删除法

1.行删除(个案删除)

适用:缺失数据较少,且分散

缺点:造成数据浪费,估计参数可能会有偏

data[complete.cases(data),]

2.成对删除

优点:用到了 所以可获取的信息,在MCAR时可,参数估计无偏

缺点:相关系数矩阵可能不正定,难以选择用哪个样本量计算标准误,用平均的可能造成低估

apply(data,2,mean,na.rm=T)

cor(data,use=‘pair’)

插补

1.用代表中心趋势的值插补缺失

选择中位数、平均数、众数中哪一个由分布决定

近似正态分布:均值插补

偏态分布:中位数插补

例:使用内置数据集实现均值插补

2.回归插补

方法:对缺失变量和已观测变量建立回归方程,用缺失变量的预测值对缺失值进行插补

例:

3.随机回归插补

在回归预测值上增加随机因素

(这种方法生成的插补值可能有负数,这是由于加入随机因素引起的)

4.多重插补

基于重复模拟插补缺失值

5.K临近法

根据样本观测值之间的相关性,利用欧氏距离寻找与缺失观测最相似的k个样本中的观测,填补缺失值

DMwR包中knnInputation函数可以实现这种方法

相关文章

  • 数据缺失值处理 -- R

    转载https://blog.csdn.net/yyykkklll123/article/details/8386...

  • R数据数据缺失值处理

    处理缺失值的步骤一般为: 识别缺失值 补全个案或删除个案 个案、行都是指代一个意思 识别缺失值 识别缺失值的方法很...

  • R语言实战考卷 第四章

    本章要点 R储存缺失值和日期的方式; 处理缺失值和日期的方式 对象的数据类型;转换数据类型;(控制流if-then...

  • 数据清洗:缺失值处理(R)

  • 机器学习 - 特征工程

    数据处理 缺失值处理行数据缺失过多,用户区分度就会降低,列数据缺失过多会导致建模存在偏差fillna:填充缺失值;...

  • 数据的缺失值处理说明

    缺失值说明 缺失值产生的原因 缺失值处理 缺失值说明 缺失数据是指粗糙数据中由于缺少信息而造成的数据的聚类、分组、...

  • 121、处理缺失数据

    处理缺失数据 滤除缺失数据 填充缺失数据 如果全为NA值则插值方法不起作用。 源码:

  • 利用R进行脏数据清洗

    在进行正式的数据分析之前,必须要保证数据的质量,故而我们要处理缺失值、异常值这些脏数据。 一、缺失值 缺失值的处理...

  • day80-数据清洗及数据库连接

    1数据清洗 1.1缺失数据处理 isnull检测缺失值;dropna删除缺失值;python内置的none值在对象...

  • R语言缺失值处理

    {因为文章好,所以转载!!}R语言缺失值处理 2016-08-23 05:17砍柴问樵夫 数据缺失有多种原因,而大...

网友评论

    本文标题:数据缺失值处理 -- R

    本文链接:https://www.haomeiwen.com/subject/hhvstktx.html