当前位置: 首页 > news >正文

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包支持的方法:

 

http://www.lryc.cn/news/134186.html

相关文章:

  • SpringBoot自动配置原理
  • HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 五)
  • Java基础篇——反射枚举
  • 每日一学——案例难点Windows配置
  • 2023.8 - java - 运算符
  • 推荐三款Scrum敏捷项目管理工具/敏捷管理实践
  • WARNING: undefined behavior - version of Delve is too old for Go version
  • https非对称加密算法
  • “深入探索JVM:Java虚拟机背后的奥秘“
  • 树莓派系统入门教程(三)—— 使用Windows上的VSCode远程连接树莓派进行Python开发
  • 如何使用HTML5新增的标签来优化SEO?
  • LVS之keepalived
  • Linux(入门篇)
  • 如何构造不包含字母和数字的webshell
  • springboot(JavaCV )实现视频截取第N帧并保存图片
  • Linux面试笔试题(5)
  • WordPress文章:创建和优化您的网站内容
  • Selenium webdriver_manager根据浏览器版本自动下载对应驱动程序
  • 2023 - java - 强制类型转换和装箱
  • 使用ansible自动化部署Kubernetes
  • k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus
  • 6-模板初步使用
  • STM32CubeMX配置STM32F103 USB Virtual Port Com(HAL库开发)
  • RocketMQ与Kafka对比(18项差异)
  • 英文翻译照片怎么做?掌握这个方法轻松翻译
  • Linux介绍
  • 计算机竞赛 卷积神经网络手写字符识别 - 深度学习
  • [Go版]算法通关村第十三关白银——数组实现加法和幂运算
  • React笔记[tsx]-解决Property ‘frames‘ does not exist on type ‘Readonly<{}>‘
  • ThinkPHP6.0+ 使用Redis 原始用法