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

R语言和医学统计学(8):logistic回归

本文首发于公众号:医学和生信笔记,完美观看体验请至公众号查看本文。

医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化。

文章目录

    • 前言
    • logistic回归

前言

这是R语言和医学统计学的第8篇内容。

主要是用R语言复现课本中的例子。我使用的课本是孙振球主编的《医学统计学》第4版,封面如下:

在这里插入图片描述

logistic回归

使用课本例16-2的数据,直接读取:

df16_2 <- foreign::read.spss("E:/各科资料/医学统计学/研究生课程/12 Logistic Regression18-9/12 Logistic Regression18-9/例16-02冠心病.sav", 
                             to.data.frame = T,
                             reencode  = "utf-8")
## re-encoding from utf-8

str(df16_2)
## 'data.frame':	54 obs. of  10 variables:
##  $ 序号: num  1 2 3 4 5 6 7 8 9 10 ...
##  $ x1  : Factor w/ 4 levels "<45","45~","55~",..: 3 2 2 2 3 3 2 3 2 1 ...
##  $ x2  : Factor w/ 2 levels "无","有": 2 1 2 1 1 1 1 1 1 1 ...
##  $ x3  : Factor w/ 2 levels "无","有": 1 2 1 1 1 2 2 2 1 1 ...
##  $ x4  : Factor w/ 2 levels "不吸","吸": 2 2 2 2 2 2 1 2 1 2 ...
##  $ x5  : Factor w/ 2 levels "无","有": 1 1 1 1 1 1 1 2 1 1 ...
##  $ x6  : Factor w/ 2 levels "低","高": 1 1 1 1 2 1 1 1 1 1 ...
##  $ x7  : Factor w/ 3 levels "<24","24~","26~": 1 1 1 1 1 2 1 1 1 1 ...
##  $ x8  : Factor w/ 2 levels "否","是": 2 1 1 1 2 2 1 1 2 1 ...
##  $ y   : Factor w/ 2 levels "对照","病例": 1 1 1 1 1 1 1 1 1 1 ...
##  - attr(*, "variable.labels")= Named chr [1:10] "" "年龄(岁)" "高血压史" "高血压家族史" ...
##   ..- attr(*, "names")= chr [1:10] "序号" "x1" "x2" "x3" ...
##  - attr(*, "codepage")= int 65001

数据一共10列,第1列是编号,第2-9列是自变量,第10列是因变量。

image-20220124205233335

数据结构见上图,只截取了一部分。

进行logistic回归(逐步回归):

f <- glm(y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8, data = df16_2, family = binomial())

f1 <- step(f, direction = "forward")
## Start:  AIC=64.03
## y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8

summary(f1)
## 
## Call:
## glm(formula = y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8, family = binomial(), 
##     data = df16_2)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.1727  -0.4719  -0.1409   0.5315   2.5914  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)   
## (Intercept) -5.46026    2.07370  -2.633  0.00846 **
## x145~        0.85285    1.54399   0.552  0.58070   
## x155~        0.47754    1.59320   0.300  0.76438   
## x165~        3.44227    2.10985   1.632  0.10278   
## x2有         1.14905    0.93176   1.233  0.21750   
## x3有         1.66039    1.16857   1.421  0.15535   
## x4吸         0.85994    1.32437   0.649  0.51613   
## x5有         0.73600    0.97088   0.758  0.44840   
## x6高         3.92067    1.57004   2.497  0.01252 * 
## x724~       -0.03467    1.13363  -0.031  0.97560   
## x726~       -0.38230    1.61710  -0.236  0.81311   
## x8是         2.46322    1.10484   2.229  0.02578 * 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 74.786  on 53  degrees of freedom
## Residual deviance: 40.028  on 42  degrees of freedom
## AIC: 64.028
## 
## Number of Fisher Scoring iterations: 6

因为实际采用的方法略有不同,结果和课本也不完全一样,不过并不影响结果。

本文首发于公众号:医学和生信笔记,完美观看体验请至公众号查看本文。

医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化。

相关文章:

  • MATLAB | 绘图复刻(三) | 分层聚类分析图:树状图+热图
  • 大学生计算机相关专业有什么血泪建议吗?
  • 不愧是阿里面试官整理的java高级工程师面试 1000 题,面面俱到,太全了
  • 【开卷数据结构 】指针的初步认识
  • Python高级_第3章_HTTP协议与静态Web服务器开发
  • 创造一个表格编辑距离指标
  • 大数据Hadoop之——Apache Hudi 数据湖实战操作(FlinkCDC)
  • ikun网站成名录: HTML 中的常用标签用法,从0到1创建一个ikun简介
  • <Linux系统复习>文件描述符
  • 【C++入门】(纯)虚函数和多态、抽象类、接口
  • 推荐一个C#开发的窗口扩展菜单,支持系统所以窗口
  • 初识深度学习-吴恩达
  • Rust Tauri OpenCV 写一个桌面摄像头
  • 在python中使用ggplot2
  • 基于 Vue 和 SpringBoot 实现的博客系统(附源码)
  • [Vue CLI 3] 配置解析之 css.extract
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • C# 免费离线人脸识别 2.0 Demo
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • es6(二):字符串的扩展
  • JS 面试题总结
  • orm2 中文文档 3.1 模型属性
  • Redis字符串类型内部编码剖析
  • spring boot下thymeleaf全局静态变量配置
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • vue-cli在webpack的配置文件探究
  • vue-loader 源码解析系列之 selector
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • nb
  • 白色的风信子
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • #Lua:Lua调用C++生成的DLL库
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (二)fiber的基本认识
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)创业家杂志:UCWEB天使第一步
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .net 4.0发布后不能正常显示图片问题
  • .net core 6 redis操作类
  • .net 发送邮件
  • .net 托管代码与非托管代码
  • .net 无限分类
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • ::before和::after 常见的用法
  • @Conditional注解详解
  • [<死锁专题>]
  • [ai笔记3] ai春晚观后感-谈谈ai与艺术
  • [Android Studio 权威教程]断点调试和高级调试
  • [C#]winform使用引导APSF和梯度自适应卷积增强夜间雾图像的可见性算法实现夜间雾霾图像的可见度增强
  • [c#基础]值类型和引用类型的Equals,==的区别