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

医学和生信笔记,专注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列是因变量。

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

进行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语言数据分析和可视化。

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: