🤧 ggmice | 用这只可爱的小老鼠来填补你的缺失值吧!~

写在前面

我们在处理数据的时候常常会遇到存在缺失值(NA)的情况,如何处理就仁者见仁智者见智了。🤒
简单粗暴的方法可能就是行删除法(listwise)或者个案删除法(case-wise)了,这种方法在缺失值比较少的情况下比较适用,但在NA较多的情况下可能就会丢失过多信息导致无法继续分析。😘
本期我们介绍一下mice包ggmice包这两只可爱的小老鼠,全名Multivariate Imputation by Chained Equations, mice,即链式方程多重填补。📍

一张图总结基本原理,嘿嘿。👇

用到的包

rm(list = ls())
library(tidyverse)
library(mice) 
library(ggmice)

示例数据

这里我们使用一下示例数据airquality,再在其中添加一些缺失值

dat <- airquality
dat[4:9,3] <- rep(NA,6)
dat[1:4,4] <- NA

数据概览

4.1 缺失值查看

这里面我们一共有6个变量,其中4个存在缺失值。🫠

summary(dat)

4.2 缺失值可视化

Note! ggmice提供了一种NA值的可视化方法,一目了然,nice! 🤒

plot_pattern(dat,
             square = F,
             rotate = F)

4.3 influx-outflux plot

这里和大家简单介绍一下这个influx-outflux plot,总的来说评估了缺失数据其他变量联系程度。😂
一般来说,在建模时,influx以及outflux越大越好。😗

plot_flux(dat,
          label = F,
          caption = F)

可视化一下吧

5.1 连续变量

这里我们对连续变量缺失值进行一下可视化,可以看到红色的为缺失值。😘

ggmice(dat, aes(Ozone, Solar.R))+
  geom_point()

5.2 分类变量

接着我们对分类变量缺失值进行一下可视化,红色的为缺失值。😃

ggmice(dat, aes(Month, Solar.R)) +
  geom_point()

5.3 分面展示

ggmice(dat, aes(Month, Solar.R)) +
  geom_point() +
  facet_wrap(~ Month == 5,
             # labeller = label_both
             )

mice包填补缺失值

6.1 填补缺失值

在这里我们生成几个填补缺失值后的数据,m默认是5,为了减小计算量,这里我设置成3。🤗
Note! 可选method包括:👇

pmm,
logreg,
polyreg,
polr

imp <- mice(dat, m = 3, method = "pmm")

6.2 连续变量缺失值填补后可视化

我们再看一下填补缺失值后的散点图吧,红色的为缺失值填补后。😚

ggmice(imp, aes(Ozone, Solar.R))+
  geom_point()

6.3 分类变量缺失值填补后可视化

ggmice(imp, aes(Month, Solar.R)) +
  geom_point()

6.4 分面展示

ggmice(dat, aes(Month, Solar.R)) +
  geom_point() +
  facet_wrap(~ Month == 5,
             # labeller = label_both
             )

填补数据集的可视化

7.1 dotplot

我们之前设置了m = 3,这里我们看一下3个数据集的NA填补情况。🥰

ggmice(imp, aes(x = .imp, y = Temp)) +
  geom_jitter(height = 0, width = 0.25) +
  labs(x = "Imputation number")

7.2 boxplot

ggmice(imp, aes(x = .imp, y = Temp)) + 
  geom_jitter(height = 0, width = 0.25) +
  geom_boxplot(width = 0.5, size = 1, alpha = 0.75, outlier.shape = NA) +
  labs(x = "Imputation number")

算法收敛

看来default = 5是有原因的,哈哈哈哈哈哈!🤣

plot_trace(imp,
#           "Temp"
           )

<img src="https://upload-images.jianshu.io/upload_images/24475539-a2d7dc19002b363b.png" alt="甜筒" style="zoom:25%;" />

<center>最后祝大家早日不卷!~</center>


点个在看吧各位~ ✐.ɴɪᴄᴇ ᴅᴀʏ 〰

<center> <b>📍 往期精彩 <b> </center>

📍 <font size=1>🤩 ComplexHeatmap | 颜狗写的高颜值热图代码!</font>
📍 <font size=1>🤥 ComplexHeatmap | 你的热图注释还挤在一起看不清吗!?</font>
📍 <font size=1>🤨 Google | 谷歌翻译崩了我们怎么办!?(附完美解决方案)</font>
📍 <font size=1>🤩 scRNA-seq | 吐血整理的单细胞入门教程</font>
📍 <font size=1>🤣 NetworkD3 | 让我们一起画个动态的桑基图吧~</font>
📍 <font size=1>🤩 RColorBrewer | 再多的配色也能轻松搞定!~</font>
📍 <font size=1>🧐 rms | 批量完成你的线性回归</font>
📍 <font size=1>🤩 CMplot | 完美复刻Nature上的曼哈顿图</font>
📍 <font size=1>🤠 Network | 高颜值动态网络可视化工具</font>
📍 <font size=1>🤗 boxjitter | 完美复刻Nature上的高颜值统计图</font>
📍 <font size=1>🤫 linkET | 完美解决ggcor安装失败方案(附教程)</font>
📍 <font size=1>......</font>

本文由mdnice多平台发布

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,192评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,858评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,517评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,148评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,162评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,905评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,537评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,439评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,956评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,083评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,218评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,899评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,565评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,093评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,201评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,539评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,215评论 2 358

推荐阅读更多精彩内容