R语言之生信⑦Cox比例风险模型(单因素)

目录

R语言之生信①差异基因分析1
R语言之生信②差异基因分析2
R语言之生信③差异基因分析3
R语言之生信④TCGA生存分析1
R语言之生信⑤TCGA生存分析2
R语言之生信⑥TCGA生存分析3
R语言之生信⑦Cox比例风险模型(单因素)

======================================

Cox比例风险模型(Cox,1972)本质上是一种回归模型,通常用于医学研究中的统计学,用于研究患者的生存时间与一个或多个预测变量之间的关联。

介绍

在前一章(TCGA生存分析)中,我们描述了生存分析的基本概念以及分析和总结生存数据的方法,包括:1.危险和生存功能的定义 2.为不同患者群构建Kaplan-Meier生存曲线用于比较两条或更多条生存曲线的logrank检验

但是上述方法--Kaplan-Meier曲线和logrank测试 - 是单变量分析的例子。他们根据调查中的一个因素来描述生存,但忽略了任何其他因素的影响。

此外,Kaplan-Meier曲线和logrank检验仅在预测变量是分类时才有用(例如:治疗A与治疗B;男性与女性)。它们不适用于基因表达,体重或年龄等定量预测因子。

另一种方法是Cox比例风险回归分析,它适用于定量预测变量和分类变量。此外,Cox回归模型扩展了生存分析方法,以同时评估几种风险因素对生存时间的影响。

临床研究需求

在临床研究中,存在许多情况,其中几个已知量(称为协变量)可能影响患者预后。

例如,假设比较两组患者:那些患者和没有特定基因型的患者。如果其中一组也包含较老的个体,则存活率的任何差异可归因于基因型或年龄或两者。因此,在研究与任何一个因素相关的生存时,通常需要调整其他因素的影响。

cox比例风险模型是用于对生存分析数据建模的最重要方法之一。该模型的目的是同时评估几个因素对生存的影响。换句话说,它允许我们检查特定因素如何影响特定时间点发生的特定事件(例如,感染,死亡)的发生率。该比率通常称为危险率。预测变量(或因子)通常在生存分析文献中称为协变量。

风险比(HR)大于1表示与事件概率正相关的协变量,因此与生存期长度负相关。
HR = 1:无效
HR <1:减少危害
HR> 1:危险增加

library("survival")
library("survminer")
data("lung")
head(lung)

res.cox <- coxph(Surv(time, status) ~ sex, data = lung)
res.cox

summary(res.cox)

> res.cox <- coxph(Surv(time, status) ~ sex, data = lung)
> res.cox
Call:
coxph(formula = Surv(time, status) ~ sex, data = lung)

      coef exp(coef) se(coef)     z      p
sex -0.531     0.588    0.167 -3.18 0.0015

Likelihood ratio test=10.63  on 1 df, p=0.001
n= 228, number of events= 165 
> summary(res.cox)
Call:
coxph(formula = Surv(time, status) ~ sex, data = lung)

  n= 228, number of events= 165 

       coef exp(coef) se(coef)      z Pr(>|z|)   
sex -0.5310    0.5880   0.1672 -3.176  0.00149 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

    exp(coef) exp(-coef) lower .95 upper .95
sex     0.588      1.701    0.4237     0.816

Concordance= 0.579  (se = 0.022 )
Rsquare= 0.046   (max possible= 0.999 )
Likelihood ratio test= 10.63  on 1 df,   p=0.001
Wald test            = 10.09  on 1 df,   p=0.001
Score (logrank) test = 10.33  on 1 df,   p=0.001

Cox回归结果可解释如下:

  • 统计学意义。标记为“z”的列给出Wald统计值。它对应于每个回归系数与其标准误差的比率(z = coef / se(coef))。 wald统计量评估给定变量的β(ββ)系数是否在统计学上显着不同于0.从上面的输出,我们可以得出结论,变量性别具有高度统计上显着的系数。

  • 回归系数(coef)。 Cox模型结果中要注意的第二个特征是回归系数(coef)的符号。对于具有较高该变量值的受试者,正号表示危险(死亡风险)较高,因此预后更差。变量性别被编码为数字向量。 1:男,2:女。 Cox模型的R总结给出了第二组相对于第一组的风险比(HR),即女性与男性。在这些数据中,性别的β系数= -0.53表明女性死亡风险(较低的存活率)低于男性。

  • 危险比(HR)(exp(coef))。指数系数(exp(coef)= exp(-0.53)= 0.59),也称为风险比,给出协变量的效应大小。例如,女性(性别= 2)可将危险降低0.59倍,即41%。女性与预后良好有关。

  • 风险比的置信区间(95%CI)。总结输出还给出了风险比(exp(coef))的上下95%置信区间,下限95%= 0.4237,上限95%= 0.816。

该模型的全局统计意义。最后,输出给出了模型总体显着性的三个替代测试的p值:似然比检验,Wald检验和得分数据统计。这三种方法是渐近等价的。对于足够大的N,它们将给出类似的结果。对于小N,它们可能有所不同。对于小样本量,似然比检验具有更好的行为,因此通常是优选的。

要一次将单变量coxph函数应用于多个协变量,请键入:



covariates <- c("age", "sex",  "ph.karno", "ph.ecog", "wt.loss")
univ_formulas <- sapply(covariates,
                        function(x) as.formula(paste('Surv(time, status)~', x)))

univ_models <- lapply( univ_formulas, function(x){coxph(x, data = lung)})
# Extract data 
univ_results <- lapply(univ_models,
                       function(x){ 
                         x <- summary(x)
                         p.value<-signif(x$wald["pvalue"], digits=2)
                         wald.test<-signif(x$wald["test"], digits=2)
                         beta<-signif(x$coef[1], digits=2);#coeficient beta
                         HR <-signif(x$coef[2], digits=2);#exp(beta)
                         HR.confint.lower <- signif(x$conf.int[,"lower .95"], 2)
                         HR.confint.upper <- signif(x$conf.int[,"upper .95"],2)
                         HR <- paste0(HR, " (", 
                                      HR.confint.lower, "-", HR.confint.upper, ")")
                         res<-c(beta, HR, wald.test, p.value)
                         names(res)<-c("beta", "HR (95% CI for HR)", "wald.test", 
                                       "p.value")
                         return(res)
                         #return(exp(cbind(coef(x),confint(x))))
                       })
res <- t(as.data.frame(univ_results, check.names = FALSE))
as.data.frame(res)
> as.data.frame(res)
           beta HR (95% CI for HR) wald.test p.value
age       0.019            1 (1-1)       4.1   0.042
sex       -0.53   0.59 (0.42-0.82)        10  0.0015
ph.karno -0.016      0.98 (0.97-1)       7.9   0.005
ph.ecog    0.48        1.6 (1.3-2)        18 2.7e-05
wt.loss  0.0013         1 (0.99-1)      0.05    0.83

上面的输出显示了回归β系数,效应大小(作为风险比给出)和每个变量相对于总体生存的统计显着性。每个因素都通过单独的单变量Cox回归来评估。

  • 变量sex,age和ph.ecog具有统计学意义,而ph.karno的系数不显着。

  • 年龄和ph.ecog具有正β系数,而性别具有负系数。因此,年龄较大和较高的ph.ecog与较差的存活率相关,而女性(性别= 2)与较好的存活率相关。

你可能感兴趣的:(R语言之生信⑦Cox比例风险模型(单因素))