## 近期将推出医学生R语言入门课;R语言与高级统计学 付费专栏,感谢大家支持 ##
上次提到单因素cox回归分析:
(生物信息学)R语言与统计学入门(九)—— 单因素cox回归分析_Lijingxian教你学生信的博客-CSDN博客_r语言单因素回归分析COX回归模型,又称”比例风险回归模型(proportional hazards model,简称Cox模型)”,是由英国统计学家D.R.Cox(1972)年提出的一种半参数回归模型。该模型以生存结局和生存时间为因变量,可同时分析众多因素对生存期的影响,能分析带有截尾生存时间的资料,且不要求估计资料的生存分布类型。由于上述优良性质,该模型自问世以来,在医学随访研究中得到广泛的应用,是迄今生存分析中应用最多的多因素分析方法。https://blog.csdn.net/weixin_46500027/article/details/124428439?spm=1001.2014.3001.5501 ;但是,单因素cox回归分析往往不符合显示,一个变量往往不能反应结局变量的情况,且往往可能受到其他变量的制约。
因此,在单因素cox回归分析之后,我们还需要进行多因素cox回归分析。
下面分享一下多因素Cox回归分析,我们来看下面这一组数据:
这是TCGA前列腺癌数据,要下载相关数据可以去我的资源中下载,目前上传了FPKM和CPM格式的表达数据和临床数据。
我们要分析后面四个指标对RFS的影响,可以用到多因素cox回归分析。
下面我们看代码,先读取数据:
setwd("D:\\")
dir()
data head(data)
sampleID RFS.time RFS age gleason TNM ALYREF
#1 TCGA-CH-5751-01 365 1 68 10 4 3.958
#2 TCGA-ZG-A9KY-01 130 0 73 9 4 3.527
#3 TCGA-G9-6363-01 1378 0 64 7 4 2.618
#4 TCGA-G9-6365-01 1363 0 71 7 4 2.147
#5 TCGA-G9-6494-01 1771 0 66 7 4 1.792
#6 TCGA-EJ-5518-01 2104 1 66 9 4 1.487
然后加载coin包,运行cox回归函数:
library(coin)
cox summary(cox)
#Call:
#coxph(formula = Surv(RFS.time, RFS) ~ age + gleason + TNM + ALYREF,
data = data)
#
n= 421, number of events= 52
#
coef exp(coef) se(coef) z Pr(>|z|)
#age -0.007634 0.992395 0.021284 -0.359 0.720
#gleason 0.803836 2.234095 0.169679 4.737 2.16e-06 ***
#TNM 0.244095 1.276466 0.307639 0.793 0.428
#ALYREF 0.034479 1.035080 0.135279 0.255 0.799
#---
#Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#
exp(coef) exp(-coef) lower .95 upper .95
#age 0.9924 1.0077 0.9518 1.035
#gleason 2.2341 0.4476 1.6020 3.116
#TNM 1.2765 0.7834 0.6985 2.333
#ALYREF 1.0351 0.9661 0.7940 1.349
#
#Concordance= 0.706 (se = 0.041 )
#Likelihood ratio test= 38.28 on 4 df, p=1e-07
#Wald test = 33.63 on 4 df, p=9e-07
#Score (logrank) test = 40 on 4 df, p=4e-08
可以看到,除了gleason评分之外,其余的变量都没有意义,包括我们要研究的基因ALYREF。
我们用逐步回归法,排除可能存在共线性的变量,筛选出最有价值的变量:
step(cox,direction = "both")
> step(cox,direction = "both")
#Start: AIC=500.67
#Surv(RFS.time, RFS) ~ age + gleason + TNM + ALYREF
#
Df AIC
#- ALYREF 1 498.73
#- age 1 498.80
#- TNM 1 499.30
500.67
#- gleason 1 523.88
#
#Step: AIC=498.73
#Surv(RFS.time, RFS) ~ age + gleason + TNM
#
Df AIC
#- age 1 496.84
#- TNM 1 497.47
498.73
#+ ALYREF 1 500.67
#- gleason 1 523.76
#
#Step: AIC=496.84
#Surv(RFS.time, RFS) ~ gleason + TNM
#
Df AIC
#- TNM 1 495.54
496.84
#+ age 1 498.73
#+ ALYREF 1 498.80
#- gleason 1 521.76
#
#Step: AIC=495.54
#Surv(RFS.time, RFS) ~ gleason
#
Df AIC
495.54
#+ TNM 1 496.84
#+ ALYREF 1 497.40
#+ age 1 497.47
#- gleason 1 530.95
#Call:
#coxph(formula = Surv(RFS.time, RFS) ~ gleason, data = data)
#
coef exp(coef) se(coef) z p
#gleason 0.8674 2.3807 0.1518 5.714 1.1e-08
#
#Likelihood ratio test=37.41 on 1 df, p=9.552e-10
#n= 421, number of events= 52
逐步回归法最终得出的结果是,只留下gleason评分就可以了,其他的变量可以筛走,不重要。
那么这个基因就没有研究的必要了,赶紧换一个基因吧。
这也是我们在做基础实验,选择基因的标准,单因素先初筛,多因素再进一步筛选,研究多因素cox回归有意义的基因,这样不会被质疑。
Original: https://blog.csdn.net/weixin_46500027/article/details/124554798
Author: 楷然教你学生信
Title: (生物信息学)R语言与统计学入门(十)—— 多因素Cox回归分析
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/638389/
转载文章受原作者版权保护。转载请注明原作者出处!