赞
踩
欢迎关注医科研公众号,这里是白介素2的读书笔记:)跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA、GEO,SEER数据挖掘。点 这里 跳转到原文,关注我藕~
Cox比例风险模型的建立是基于几个假设之上的,因此一般建好模型后需要进行诊断,评估拟合的模型是否能够用于描述数据。
比例风险假定;
模型影响点(异常值)识别;
比例风险的对数值与协变量之间的非线性关系识别;
Schoenfeld 残差用于检验比例风险假定;
Deviance 残差用于影响点(异常值)识别;
Martingale残差用于非线性检验;
library("survival")library("survminer")
library("survival")res.cox res.cox## Call:## coxph(formula = Surv(time, status) ~ age + sex + wt.loss, data = lung)## ## coef exp(coef) se(coef) z p## age 0.0200882 1.0202913 0.0096644 2.079 0.0377## sex -0.5210319 0.5939074 0.1743541 -2.988 0.0028## wt.loss 0.0007596 1.0007599 0.0061934 0.123 0.9024## ## Likelihood ratio test=14.67 on 3 df, p=0.002122## n= 214, number of events= 152 ## (14 observations deleted due to missingness)
PH假设可通过假设检验和残差图检验。正常情况下,Schoenfeld残差应该与时间无关,如果残差与时间有相关趋势,则违反PH假设的证据。残差图上的横轴代表时间,如果残差均匀的分布则表示残差与时间相互独立。
R语言survival包中的函数cox.zph函数提供简便的实现这一过程的方法
test.ph <- cox.zph(res.cox)test.ph## rho chisq p## age -0.0483 0.378 0.538## sex 0.1265 2.349 0.125## wt.loss 0.0126 0.024 0.877## GLOBAL NA 2.846 0.416
从输出的结果看,三个协变量的P值都大于0.05,说明每个变量均满足PH检验,而模型的整体检验P值0.416也没有统计学意义,因此我们认为模型整体满足PH检验。
survminer包中的ggcoxzph()函数可以绘制每个协变量随时间变化的Schoenfeld残差图
ggcoxzph(test.ph)
上图中实线是与曲线拟合的平滑样条曲线,虚线表示拟合周围的+/- 2标准误差带。
没有与时间相关变化模式,个各个协变量满足风险比例假设
绘制Deviance残差图或者dfbeta值实现,以下选择dfbeta,改为deviance即残差图
survminer中的ggcoxdiagnostics()函数
ggcoxdiagnostics(res.cox, type = "dfbeta", linear.predictions = FALSE, ggtheme = theme_bw())
上图表示,将最大dfbeta值的大小与回归系数进行比较表明,没有一个观察结果是单独影响的,即使年龄和重量损失的某些dfbeta值与其他值相比较大。
通常,我们假设连续协变量具有线性形式。但是,应该检验这个假设是否成立。使用连续协变量绘制Martingale残差是用于检测非线性的常用方法,或者换句话说,用于评估协变量的函数形式。对于给定的连续协变量,图中的模式可能表明变量不适合。
R语言survminer中的ggcoxfunctional()函数可以绘图
例如我们检验age变量,可使用如下代码
ggcoxfunctional(Surv(time, status) ~ age + log(age) + sqrt(age), data = lung)
结果显示,有一定程度的非线性存在
参考资料
(http://www.sthda.com/english/wiki/cox-model-assumptions)
R语言for循环-批量完成相关系数计算
cowplot-组图
R语言GEO数据挖掘-功能富集分析
GDCRNATools|ceRNA套路终结者Part1
TCGAbiolinks下载TCGA数据
R语言-临床三线表
SurvivalROC包绘制时间依赖的ROC曲线
R语言绘制ROC曲线
0
https://www.jianshu.com/p/d8e002de9fc3复制链接到浏览器打开可达我的简书博客。
本期的内容就到这里,我是老朋友白介素2,下期再见。
扫码关注我
你来或不来,我就在那里
作者:白介素2
往期系列推送:
想学R?从看R界传奇老司机的免费讲座开始吧
R语言概述
R入门教程之变量
专题 | R语言基础篇—列表,因子和数据框
专题 | R语言基础篇—矩阵
生存分析——R语言
“R”语言基础列之(一)——学渣也能搞定高大上的“R”语言啦
R语言基础系列之 (二) ————给我一个爱上你的理由
R软件基本操作,第三课 |【小白学R系列】
第四课~!安装 |【小白学R系列】
第五课 Packages |【小白学R系列】
第六课 R的内置数据集 |【小白学R系列】
第七课 送ncRNA数据库偶!|【小白学R系列】
第八课 R语言数据结构 |【小白学R系列】
第九课 向量的索引 |【小白学R系列】
第十课 向量的计算 |【小白学R系列】
第十一课 矩阵 |【小白学R系列】
第十二课 数组 |【小白学R系列】
第十三课 列表 |【小白学R系列】
第十四课 数据框 |【小白学R系列】
第十五课 因子 |【小白学R系列】
第十六课 缺失数据 |【小白学R系列】
第十七课 字符串 |【小白学R系列】
第十八课 时间日期处理 |【小白学R系列】
发送生信到本公众号(freescience联盟)后台,查看更多R系列推文~
欢迎各位亲来稿分享学习心得、笔记~
来稿请发至邮箱:freescienceunion@sina.com
1) 稿件必须为原创,如有抄袭,导致法律纠纷由投稿人承担;
2) 字数:字数无要求,漫画形式也可;
3) 内容:生信方法、科研技巧、科研经验、实验方法,临床案例等,只要对科研学习有帮助,都在推送范围内。
注意:没有稿费,没有稿费,没有稿费……
本公众号暂时没有任何收入,推送均为编编组业余时间的分享ღ
Freescience联盟QQ交流群:321950419
(点 这里 和 这里 认识我们哦~)
点 这里 领我们整理的软件库
点 这里 查看sci文章润色服务
点 这里 看R界传奇老司机直播录像
点 这里 进免费免安装的文献下载神器
点本文左下角的 阅读原文,手机端可关键词检索历史推送资料
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。