审稿人:请画出多重填补后的图,谢谢!

学术   2024-06-15 11:39   浙江  
如果被人质疑数据分析的透明性问题, 比如审稿人让你画出多重填补后的图,那该怎么做?

小编今天献上一策!

首先安装并且载入相关R包:

install.packages("ggmice")

library(mice)
library(ggplot2)
library(ggmice)
R包get!

将使用R包{mice}中的数据集,名为boys,查看下概况:

mydata <- boys
summary(mydata)

从上面的结果可知,大部分变量存在缺失值。

下一步,对上述数据集进行多重填补,使用默认的Predictive mean matching(pmm)法,代码如下:

imputed <- mice(mydata, m = 5, method = "pmm")

填补完毕,数据将会保存在对象imputed中,将会用于填补后的作图。 

首先使用原始数据mydata介绍ggmice()函数,比如制作一个散点图,将会把缺失值用红色标出,非常实用:

ggmice(mydata, aes(x = age, y = hgt)) +
  geom_point()

hgt包含几个缺失值,默认会在另外一个坐标轴(即x轴)上标记出,颜色为红色。

再举一个例子,假如x轴上的为分类变量: 

ggmice(mydata, aes(x = reg, y = hgt)) +
  geom_point()

这个函数的优势是可以与ggplot2的代码相结合,比如可以进一步进行分组作图,代码如下:

ggmice(mydata, aes(x = wgt, y = hgt)) +
  geom_point() +
  facet_wrap(~ reg == "east", labeller = label_both)

下面将介绍多重填补后的作图。

请注意,数据集部分需要输入为imputed,代码如下:

ggmice(imputed, aes(x = age, y = hgt)) +
  geom_point()

默认情况下,蓝色为观察值,红色为填补的值。

也可以将x轴换成一个分类变量,即reg,代码如下:

ggmice(imputed, aes(x = reg, y = hgt)) +
  geom_point()

同样,可以进行分组作图,查看填补情况:

ggmice(imputed, aes(x = wgt, y = hgt)) +
  geom_point() +
  facet_wrap(~ reg == "east", labeller = label_both)

最后,还可以将某一个变量(这里以hgt为例)在不同填补过程中的值画出,默认也是蓝色为原始观察值,红色为填补后的值,代码如下:

ggmice(imputed, aes(x = .imp, y = hgt)) +
  geom_jitter(height = 0, width = 0.3) +
  labs(x = "Imputation number")

也可以结合ggplot2的延伸能力,添加箱形图,代码如下:

ggmice(imputed, aes(x = .imp, y = hgt)) +
  geom_jitter(height = 0, width = 0.3) +
  geom_boxplot(width = 0.6, size = 1.1, alpha = 0.6, outlier.shape = NA) +
  labs(x = "Imputation number")

好啦,今天的内容就到这里。如果有帮助,记得分享给需要的人

参考文献

https://cran.r-project.org/package=ggmice


公众号的线上课程
1. 《R语言和统计新手课程》
2. 《回归:从入门到进阶》
3. 《线性混合模型和纵向数据分析》
【通过公众号菜单栏--线上课程】

统计咨询
《服务介绍和经典合作案例》

公众号核心成员的成果发表
《SCI医学1区影响因子9分论文》

公众号核心成员担任SCI杂志Associate Editor!
《JAD杂志Associate editor》
《Frontiers in Neuroscience, Frontiers in Neurology and Frontiers in Psychiatry杂志的神经退行性病变板块》

加入我们
成为我们的课程推广大使,赢取高额回报!
【通过公众号菜单栏--联系我们--招推广员】

▌本文由R语言和统计首发
▌课程相关咨询可添加R师妹微信: kefu_rstats
▌编辑:June
▌邮箱:contact@rstats.cn
▌网站:www.rstats.cn
我们致力于让R语言和统计变得简单!




R语言和统计
我们定期更新与R有关的内容,比如R编程基础,作图,实用R包的解读,统计学基础知识,前沿的统计方法,机器学习等等。
 最新文章