R数据处理(2)-缺失数据插补

简介:介绍r医学数据分析常用数据插补方法(持续更新ing)

所用R包:mice

多重插补mice包使用详解

library(openxlsx) #读取数据
library(tidyverse)#数据处理
library(mice)#多重插补


#数据处理
data <- read.csv("C:/Users/99405/Desktop/aa.xlsx")
data1 <- data %>% select() #提取所需插补的数据集
skim(data1)#查看数据情况
variables <-colnames(data)[2:3]data1 <- data1 %>% mutate(across(any_of(variables),factor))#批量设置因子型变量
variables <-c("a11","a12","a13")
data1 <- data1 %>% mutate(across(any_of(variables),ordered))#批量设置有序因子变量

#选择方法进行多重插补
#参数注释 
#m=设置要生成的数据集个数(默认为5),
#method=设置填补方法(默认为pmm,logreg,polyreg,polr软件自动识别变量类型后选择相应的方法),可设置一种方法或对每一个变量都设置一种方法
#maxit = 设置迭代次数(默认为5)
#设置单一插补方法
t1 <- mice(data1,method="pmm")
#查看结果和预测方法
t1$predictorMatrix #查看预测变量矩阵
t1$method #查看预测方法,完整变量为空
t1$imp$a4 #查看某个变量的填补情况
#用默认方法插补
t1 <- mice(data1)

#详细设置预测变量
predictor_matrix <- t1$predictorMatrix#提取原始默认预测矩阵
predictor_matrix[,c("职业","年龄")] <- 0 #设置变量a26不做为预测变量
t2 <- mice(data1,predictorMatrix=predictor_matrix)

#用action=选取某个数据集
compdata <- complete(t1,action=2)

#缺失值插补可视化
stripplot(compdata,a5~.imp,pch=20,cex=2)#查看bmi插补效果

#提取所需要填充的变量和原数据剩余变量组成新数据集
#使用了左连接语法
cpdata<- merge(compdata[,1:25],data[,c(1,26:51)],all.x = TRUE,by="a1")

#导出数据为xlsx
write.xlsx(cpdata,file="C:/Users/99405/Desktop/插补后数据.xlsx")
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇