R手册(Tidy+Transform)--缺失处理(naniar and simputation)


缺失值是指粗糙数据中由于缺少信息而造成的数据的聚类、分组、删失或截断。它指的是现有数据集中某个或某些属性的值是不完全的。

缺失值从缺失的分布来讲可以分为完全随机缺失,随机缺失和完全非随机缺失。

  • 完全随机缺失(missing completely at random,MCAR)
    指的是数据的缺失是随机的,数据的缺失不依赖于任何不完全变量或完全变量。

  • 随机缺失(missing at random,MAR)
    指的是数据的缺失不是完全随机的,即该类数据的缺失依赖于其他完全变量。

  • 完全非随机缺失(missing not at random,MNAR)
    指的是数据的缺失依赖于不完全变量自身。

naniar

缺失数据摘要

函数说明
vis_miss(x)缺失数据可视化摘要
miss_var_summary(data)缺失数据数值摘要
data %>%group_by(factor) %>%miss_var_summary()
n_miss(x) , n_complete(x)缺失行/完整行数量
prop_miss(x) , prop_complete(x)缺失行/完整行比例
geom_miss_point()ggplot2散点图扩展
gg_miss_var(x,show_pct = FALSE)绘制每个变量的缺失情况

阴影矩阵

函数说明
as_shadow(data)shadow matrices (NA+!NA)
bind_shadow()将阴影矩阵绑定到原始数据框
data %>%bind_shadow() %>%
ggplot(aes(x = v1, fill = v2_NA)) + geom_density(alpha = 0.5)

可视化缺失值变量分布关系

可视化估算值分布:
data %>%bind_shadow() %>%
  simputation::impute_lm(Ozone ~ Temp + Solar.R) %>%
  ggplot(aes(x = Solar.R,y = Ozone,colour = Ozone_NA)) + 
  geom_point() 

simputation : make imputation simpler for missing data

  • 中位数插补:impute_median(dat, formula)
    formula: <imputed variables> ~ <model object>

  • 模型插补,函数调用约定如下:
    impute_<model>(data, formula, … )

functionmodelpackage
impute_rlmM-estimationMASS
impute_enridge/elasticnet/lassoglmnet
impute_cartCARTrpart
impute_rfrandom forestrandomForest
impute_rhdrandom hot deckVIM (optional)
impute_shdsequential hot deckVIM (optional)
impute_knnk nearest neighboursVIM (optional)
impute_mfmissForestmissForest
impute_emmv-normalnorm

for example

data %>% 
  impute_lm(v1 ~ v2 + v3) %>%impute_median(v1 ~ v4)%>%  #链接插补
  impute_rlm(data, v1 + v2 ~ v3 +v4)  #多变量插补

data %>% group_by(factor) %>% impute_lm(v1 ~ v2+v3) #分组插补
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值