R语言处理缺失数据(1)-mice

复制代码
#清空
rm(list=ls())
gc()

###生成模拟数据###
#生成100个随机数
library(magrittr)
set.seed(1)
asd<-rnorm(100, mean = 60, sd = 10) %>% round #平均60,标准差10
#将10个数随机替换为NA
NA_positions <- sample(1:100, 10)
asd[NA_positions] <- NA
#转化为data.frame
asd <-asd %>% data.frame
colnames(asd)<-"Age"
set.seed(1)
#添加其他相关数据
asd$Weight<-rnorm(100, mean = 75, sd = 5) %>% round
asd$BMI<-rnorm(100,mean=19,sd=4)
asd$Sex<-sample(0:1,100,replace=T) %>% as.factor
asd$death<-sample(0:1,100,replace=T) %>% as.factor
#查看数据分布
str(asd)
library(ggplot2)
ggplot(asd,aes(Age))+#数据集、坐标轴
  geom_histogram(color = "#000000", fill = "#0099F8")+#设置直方图线条颜色为黑色,设置直方图填充颜色为蓝色。
  ggtitle("数据分布") +#设置坐标轴名称
  theme_classic() +#将主题设置为经典风格
  theme(plot.title = element_text(size = 18))#将文本字号设置为18


###缺失情况观察###
library(VIM) 
aggr(asd,prop=T, numbers=F, sortVars=T)
library(mice)
md.pattern(asd)

###使用 MICE 包进行多重插补缺失值###
library(mice)
help(package="mice")
imp_asd<-mice(asd,method="rf",m=10,seed=123)#m代表插补几次
stripplot(imp_asd, cex=1, alpha=1)#可视化插补情况,蓝色是原始数据,红色是插补数据
densityplot(imp_asd)
result<-complete(imp_asd)

###拟合模型###
fit<-with(imp_asd,glm(death~Age+Weight+BMI+Sex,family = binomial))#生成10个回归模型
fit_combine<-pool(fit)#合并10个模型
summary(fit_combine)#总结

备注:mice包支持的方法:

相关推荐
Piar1231sdafa6 小时前
椅子目标检测新突破:Cascade R-CNN模型详解与性能优化_1
目标检测·r语言·cnn
Loacnasfhia99 小时前
基于Mask R-CNN与RegNetX的钢水罐及未定义物体目标检测系统研究_1
目标检测·r语言·cnn
Dingdangcat869 小时前
汽车表面损伤检测实战:基于Faster R-CNN与PISA优化的R50_FPN模型详解
r语言·cnn·汽车
地球资源数据云1 天前
从 DEM 到 3D 渲染:R 语言 rayshader 地形可视化全指南
3d·数据分析·r语言
2501_941322031 天前
【医疗AI】基于Mask R-CNN的支气管镜内窥镜目标检测系统实现
人工智能·r语言·cnn
地球资源数据云1 天前
R语言网络分析与路径规划——线数据应用实战:规划散步路线
数据分析·r语言
LOnghas12111 天前
文化遗产物品识别与分类——基于Mask R-CNN的改进模型详解
分类·r语言·cnn
斯摩尔德1 天前
重测序及群体遗传分析
r语言
拓云者也1 天前
常用的生物信息学数据库以及处理工具
数据库·python·oracle·r语言·bash
ASD123asfadxv2 天前
汽车保险丝盒元件识别与分类:基于Faster R-CNN与ResNet101的检测方案详解
分类·r语言·汽车