Cox与KM生存分析及结果解读 |
您所在的位置:网站首页 › 多因素cox回归分析 › Cox与KM生存分析及结果解读 |
生存分析:针对于慢性病(癌症),因为其无法在短时间内判断预后,不宜采用治愈率和病死率等指标,而是需要对患者进行随访,分析一定时间后患者生存或死亡的情况,这样将事件的结果和出现这一结果所经历的时间结合起来分析的统计方法称为生存分析。 KM 方法即Kaplan-Meier survival estimate是一种无参数方法(non-parametric)来从观察的生存时间来估计生存概率的方法。KM生存分析模型,是单变量分析(univariable analysis),在做单变量分析时,模型只描述了该单变量和生存之间的关系而忽略其他变量的影响。(为什么要考虑multi-variables?比如在比较两组病人拥有和不拥有某种基因型对生存率的影响,但是其中一组的患者年龄较大,所以生存率可能受到基因型 或/和 年龄的共同影响)。同时,Kaplan-Meier方法只能针对分类变量(治疗A vs 治疗B,男 vs 女),不能分析连续变量对生存造成的影响。为了解决上述两种问题,Cox比例风险回归模型(Cox proportional hazards regression model)就被提了出来。因此,Cox比例风险回归模型,可以分析连续变量对生存造成的影响,也可以多变量分析对生存的影响。 R语言中的生存分析R包介绍R是数据分析常用的软件之一,通过各种功能强大的R包,可以简单方便的实现各种分析。在R语言中,能够进行生存分析的R包很多,survival和survminer是其中最基本的两个,survival负责分析,survimner负责可视化,二者相结合,可以轻松实现生存分析。 R语言中的KM模型分析 1. 准备生存数据对于每个个体而言,其生存数据会出现两种情况,第一种是观测到生存时间,通常用1表示,第二种则是删失。通常用0表示。survival自带了一个测试数据lung, 内容如下所示 每一行代表一个样本,time表示生存时间,status表示删失情况,这里只有1和2两种取值,默认排序后的第一个level对应的值为删失,这里则为1表示删失。其他列为样本对应的性别,年龄等基本信息。 2. 进行生存分析这里根据性别这个二分类变量,采用KM算法来估计生存曲线,代码如下(summary结果只显示部分) > library("survival")> library("survminer")> kmfit summary(kmfit)Call: survfit(formula = Surv(time, status) ~ sex, data = lung)sex=1 time n.risk n.event survival std.err lower 95% CI upper 95% CI 11 138 3 0.9783 0.0124 0.9542 1.000 12 135 1 0.9710 0.0143 0.9434 0.999 13 134 2 0.9565 0.0174 0.9231 0.991 15 132 1 0.9493 0.0187 0.9134 0.987 26 131 1 0.9420 0.0199 0.9038 0.982 30 130 1 0.9348 0.0210 0.8945 0.977 从kmfit中summary可以看到已经包含了每个时间点的生存概率,删失等信息,通过这些信息,完全可以自己写代码来画图。为了方便,我们直接采用survminer中的函数来进行可视化。 3. 分析结果的可视化最基本的可视化方式如下 library("survminer")ggsurvplot(kmfit, pval = TRUE, conf.int = TRUE, risk.table = TRUE, risk.table.col = "strata", linetype = "strata", surv.median.line = "hv", ggtheme = theme_bw(), palette = c("#E7B800", "#2E9FDF"))![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |