1 Star 1 Fork 0

雨天隐形人/Medical related R language procedures

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
多重插补详解.R 1.96 KB
一键复制 编辑 原始数据 按行查看 历史
shanjiayu1 提交于 2023-09-24 22:32 . 2023.9.24
library(openxlsx) #读取数据
library(tidyverse)#数据处理
library(mice)#多重插补
help(mice) #查看mice包帮助文档
rm(list = ls())
#读取数据
igadata1 <- read.xlsx("C:/Users/99405/Desktop/igacox原表.xlsx")
#批量设置因子型变量
variables <-c("a2","a6","a14","a15","a18","a19","a20","a21","a22","a23","a27","a29","a31","a33","a35","a37","a40","a42","a44","a45","a47","a49","a51")
igadata2 <- igadata1 %>% mutate(across(any_of(variables),factor))
#批量设置有序因子变量
variables <-c("a11","a12","a13","a17")
igadata2 <- igadata2 %>% mutate(across(any_of(variables),ordered))
#查看变量缺失个数
md.pattern(igadata2[1:25])
#选择方法进行多重插补
#参数注释
#m=设置要生成的数据集个数(默认为5),
#method=设置填补方法(默认为pmm,logreg,polyreg,polr软件自动识别变量类型后选择相应的方法),可设置一种方法或对每一个变量都设置一种方法
#maxit = 设置迭代次数(默认为5)
#用默认方法插补
t1 <- mice(igadata2)
#查看结果和预测方法
t1$predictorMatrix #查看预测变量矩阵
t1$method #查看预测方法,完整变量为空
t1$imp$a4 #查看某个变量的填补情况
#设置单一插补方法
pmm <- mice(igadata2,method='pmm')
#详细设置预测变量
predictor_matrix <- t1$predictorMatrix#提取原始默认预测矩阵
predictor_matrix[,"a26"] <- 0 #设置变量a26不做为预测变量
t2 <- mice(igadata2,predictorMatrix=predictor_matrix)
#用action=选取某个数据集
compdata <- complete(t1,action=2)
#提取所需要填充的变量和原数据剩余变量组成新数据集
#使用了左连接语法
igadata3 <- merge(compdata[,1:25],igadata2[,c(1,26:51)],all.x = TRUE,by="a1")
#缺失值插补可视化
stripplot(compdata,a5~.imp,pch=20,cex=2)#查看bmi插补效果
#用action=选取某一插补的数据集
test2 <- complete(t2,action=2)
#导出数据为xlsx
write.xlsx(igadata3,file="C:/Users/99405/Desktop/igacox插补后新表.xlsx")
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
R
1
https://gitee.com/sjy12345/lover.git
[email protected]:sjy12345/lover.git
sjy12345
lover
Medical related R language procedures
master

搜索帮助