生存分析之Cox比例风险模型

之前文章介绍了Kaplan-Meier生存曲线分析,Kaplan-Meier模型除了展示预后状况,也可以用log-rank法检测是否分组预后有显著差异。cox比例风险模型则适合衡量具体某一因素对生存的影响程度,用HR(hazard ratio)值体现,HR是某一因素影响生存的比率。cox模型公式如下。
h(t) = h_{0}(t) * exp(b_{1}x_{1} + b_{2}x_{2} + ... + b_{p}x_{p})

  • t - 时间
  • h(t) - 该时间点死亡风险
  • x - 因素
  • exp(b_{i})- 某因素HR

HR值对应含义如下

  • HR = 1: 无影响
  • HR < 1: 降低风险
  • HR > 1: 增加风险

不过我们不只看HR值,还要看95%CI即95%置信度区间,如果95%CI跨越了1,一般就不认为该因素对生存有显著影响。另外要提示的是HR值受输入值的规模(身高用CM为单位还是M为单位)影响,所以如果得到非常巨大/小的HR结果,要思考自己数据缩放问题。

下面用 lung 数据集分别展示单因素、多因素cox分析。

> library(survival, quietly = TRUE)
> library(survminer, quietly = TRUE)

> head(lung, n = 3)
  inst time status age sex ph.ecog ph.karno pat.karno meal.cal wt.loss
1    3  306      2  74   1       1       90       100     1175      NA
2    3  455      2  68   1       0       90        90     1225      15
3    3 1010      1  56   1       0       90        90       NA      15

使用 coxph 函数进行cox回归分析。我们看性别对肺癌预后有多大影响。

> reg <- coxph(Surv(time, status) ~ sex, data = lung)
> summary(reg)
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.021 )
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

summary 函数查看结果,其中 coef 是系数beta, exp(coef) 就是HR值,在这里是 0.5880,95%CI是 0.4237 ~ 0.816. P值给3个,如果样本少适合"Likelihood ratio test",如果样本量大,3个方法P值不会差异太多。

如果有多个因素的数据,进行多因素cox回归是适合的。也同样使用 coxphsummary 函数。

> reg <- coxph(Surv(time, status) ~ sex + age + `ph.ecog` + `ph.karno`, data = lung)
> summary(reg)
Call:
coxph(formula = Surv(time, status) ~ sex + age + ph.ecog + ph.karno, 
    data = lung)

  n= 226, number of events= 163 
   (2 observations deleted due to missingness)

              coef exp(coef)  se(coef)      z Pr(>|z|)    
sex      -0.572802  0.563943  0.169222 -3.385 0.000712 ***
age       0.012868  1.012951  0.009404  1.368 0.171226    
ph.ecog   0.633077  1.883397  0.176034  3.596 0.000323 ***
ph.karno  0.012558  1.012637  0.009514  1.320 0.186842    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

         exp(coef) exp(-coef) lower .95 upper .95
sex         0.5639     1.7732    0.4048    0.7857
age         1.0130     0.9872    0.9945    1.0318
ph.ecog     1.8834     0.5310    1.3338    2.6594
ph.karno    1.0126     0.9875    0.9939    1.0317

Concordance= 0.632  (se = 0.025 )
Likelihood ratio test= 31.27  on 4 df,   p=3e-06
Wald test            = 30.61  on 4 df,   p=4e-06
Score (logrank) test = 31.06  on 4 df,   p=3e-06

可以看到性别因素sex是显著影响生存预后的,但是年龄因素age(HR:1.013, P:0.171, 95%CI:0.9945~1.0318)不是。然后使用 ggforest 函数直接画出森林图。

> survminer::ggforest(reg, data = lung)

图片如下,效果有点复古。也可以自己手动画森林图,95%CI用线段(geom_segment)表示,HR值用点(geom_point)然后颜色表示P值即可。

fig1.png

参考
Cox Proportional-Hazards Model - Easy Guides - Wiki - STHDA
Drawing Survival Curves using 'ggplot2' • survminer

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 作者:白介素2相关阅读:[R语言生存分析03-Cox比例风险模型]R语言生存分析-02-ggforestR语言生存...
    医科研阅读 22,968评论 3 65
  • 4月15号 今天跳舞的时候我看见镜子中的自己,真的好希望自己是精神充沛的,富有活力的。回家路上,我看见丈夫发的短...
    辛亚玲阅读 164评论 0 0
  • 2017年 10月30日 晴 星期一 昨天闺女跟我说过从今以后写作业不在托拉了,要客服自己认真学习写作业。...
    贾海露妈妈阅读 218评论 0 0
  • 遇见你,没有错与对,是命中注定。 那一年,你偶然的闯进我的世界,不声不响;那一年,我蓄意的走进你的世界,轰轰烈烈;...
    AbnerLc阅读 133评论 0 0
  • 敏感型:神探夏洛克 急躁型:安迪,曲筱筱 活跃型: 欢乐颂里的邱莹莹 缓慢型: 邓布利多
    kylielalala阅读 196评论 0 0