汇总|全网最全的生存分析资料

文摘   2024-11-07 07:30   江苏  

 1、生存分析的概念

生存分析(survival analysis)是对生存时间进行分析的统计技术总称。
既考虑结果又考虑生存时间的一种统计方法,并可充分利用截尾数据所提供的不完全信息,对生存时间的分布特征进行描述,对影响生存时间的主要因素进行分析。
生存分析的基本目的就是刻画生存时间的分布。
生存分析相较于其它多因素分析的主要区别点:生存分析考虑到了每个研究对象出现某一结局所经历的时间长短。
(一)基本概念:
1.起始事件(initial event):反应生存时间起始特征的事件,如疾病确诊、某种  疾病治疗开始等。
2.失效事件(failure event):在生存分析随访研究过程中,一部分研究对
象可观察到死亡,可以得到准确的生存时间,它提供的信息是完全的,这种事件称为失效事件,也称之为死亡事件、终点事件。
3.生存时间(survival time):从规定的观察起点到某一特定终点事件出现的时间长短。 
其中根据研究对象的结局,生存时间数据可分为两种类型:
1)完全数据:在规定的观察期内,对某些观察对象观察到了终点事件发生,从起点到终点事件所经历的时间,称为生存时间的完全数据(complete data)。用符号“ t ”表示。
2)删失数据(截尾数据):规定的观察期内,对某些观察对象,由于某种原因未能观察到病人的终点事件发生,并不知道其确切的生存时间, 如病人生存时间在未达到规定的终 点就被截尾一样,称为生存时间的删失数据,又称截尾数据,用符号“ t+ ”表示。
产生删失数据的常见原因有:
1)研究结束时终点事件尚未发生;
2)失访;
3)死于其它原因;
4)由于严重药物反应而终止观察或改变治疗措施。
4.死亡概率(probability of death):表示某单位时段开始存活的个体,在 该时段内死亡的可能性;如年死亡概率。

注意:如果年内有删失,则分母用校正人口数(有效数目):
校正人口数 = 年初人口数—删失例数/2

5.生存概率(probability of survival) :单位时段开始 时存活的个体,到该时段结束时仍然存活的可能性。(注意:若年内有删失,分母用校正人口数。)

6.生存率(survival rate) :0 时刻存活的个体经历 tk时个单位时间段后仍存活的可能性。
1)若资料中无删失数据时:

2)若资料中有删失数据,则须分段计算生存概率,再应用概率乘法定理将分时段的生存概率相乘得到生存率:



故生存率又称为累积生存概率(cumulative probability of survival ),它是随着时间的变化而变化着的,是关于时间的函数,称为生存函数(survival  function)。   
3)区分:生存率与生存概率
生存概率是针对单位时间而言的;
生存率是针对某个较长时段的,是生存概率的累计结果。

4)生存率的标准误:其中:dj为第 j 个时间段内死亡人数;nj为第 j 个时间段期初人口数         

5) 置信区间:7.  中位生存期(median survival time) :也称半数生存期,是生存时间中位数(M/P50),表示恰有50%的个体存活的时间,即生存率为50%时对应的生存时间,是描述集中趋势     指标。其中,中位生存期越长,表示疾病的预后越好。     

8.生存期的四分位数间距:Q=P75-P25 是反映离散程度大小的指标。 

9.风险函数(hazard function): t 时刻存活的个体在t 时刻的瞬时死亡率。

h(t)近似地等于t 时刻存活的个体在此后一个单位时段内的死亡概率。
若h(t)是一种上升曲线,表示危险率随时间变化而增加,如患有急性疾病患者治疗无效其危险率随时间呈现增加趋势;
若h(t)是一种下降曲线,表示危险率随时间变化而减少;
若h(t)是一种稳定的危险率函数,则表示患者在稳定期,危险率基本不变。

10.生存曲线:以观察(随访)时间为横轴,以生存率为纵轴,将各个时间点所对应的生存率连接在一起的曲线图。
生存曲线是一条下降的曲线,分析时应注意曲线的高度和下降的坡度。平缓的生存曲线表示高生存率或较长生存期,陡峭的生存曲线表示低生存率或较短生存期。

(二)生存分析的特点:

1.生存资料特点:
1) 有结局和生存时间两个因变量; 
2)生存时间分布不正态—非负且右偏; 
3)可能含有删失数据(censor)

2.生存分析特点:
1)同时考虑结局和生存时间两个因变量;  
2)可处理生存时间分布不正态的问题;
3)可处理删失数据。

3.处理删失/截尾数据时两种错误的做法:
错误1:只考虑确切数据,丢弃截尾数据(损失信息);
错误2:将截尾数据当作确切数据处理(低估了生存时间的平均水平)。

4.在处理正偏态分布数据时两种错误的做法:
错误1:采用平均生存时间而不是采用中位生存时间来表示生存时间的平均水平。
错误2:采用常规 t 检验或方差分析进行组间比较。(应采用log-rank检验比较几组生存时间 )

(三)绘制生存曲线方法:

  1. 大样本资料的生存分析方法—寿命表法(Life-table method)

  2. 小样本资料的生存分析方法:kaplan-meier法或称乘积极限法(product limit method)并根据绘制出的生存曲线进行分析:Cox比例风险回归模型
    常用工具:SPSS 、 R语言 、 SAS等。下节介绍。


2、生存分析-SPSS

常见方法有寿命表法、Kaplan-Meier分析法、Cox回归分析

一、寿命表分析

适用于大数据

示例:
若要研究性别对于肺病生存率有无区别,收集数据下列信息
time:生存时间(单位天)
status:0=存活,1=死亡
sex:1=男,2=女

操作步骤
按步骤将数据导入(lung数据集来自于R内置数据)


选定寿命表分析方法

对各选项进行设置(其中注意状态设置:选取表示事件已发生的值)

设置完所有选项后确认

得到结果(可进行导出)


1.得到存活表:该表给出了男女对应时间内存活和死亡人数,并计算了存活率、风险比等统计量


2.中位数生存时间:即生存率为50%时,生存时间的平均水平;
可知:生存时间的平均水平女士高于男士

3.生存函数:男士较女士累计生存率下降快

二、Kaplan-Meier分析

适用于小样本
示例:
若要研究药物治疗对卵巢癌生存率有无区别,收集数据下列信息
futime:生存时间(单位天)
fustat:0=存活,1=死亡
rx:1=未治疗,2=治疗

操作步骤:
按步骤将数据导入(ovarian数据集来自于R内置数据)


选定Kaplan-Meier分析法,并对选项进行设置

设置结束后确认

得到结果(可进行导出):
1.生存表的均值和中位数、百分位数:可以看出治疗与未治疗有均值、四分位数略有差异


2.整体比较:检验结果p值>0.05,证明治疗组与非治疗组差异不显著


3.存活函数:治疗组较非治疗组生存结果好,但从假设检验结果来看差异不明显

三、Cox回归分析

示例:
若要研究结肠癌治疗方式对患者生存时间的影响,收集了下面所示的数据:
time:生存时间(单位天)
status:0=存活,1=死亡
rx:治疗方式,Obs=观察,Lev=方式1,Lev+5FU=方式2
obstruct:0=无阻塞的结肠肿瘤,1=有阻塞的结肠肿瘤
perfor:0=无结肠穿孔,1=有结肠穿孔
extent:传播程度:1 =黏膜下层,2 =肌肉,3 =浆膜,4 =相邻结构

操作步骤:
导入结肠癌colon数据(R中内置数据)

选定cox回归分析
参数设置:
协变量依次导入,方法按分析所需进行选择


点击"分类",协变量依次选入分类协变量

点击"绘图",勾选生存函数,主要变量为rx,将rx变量选入单线框中,绘制生存曲线


点击"选项",设置输出RR的95%置信区间。

最后确定

得到结果(可导出)
1.案例处理摘要:1858个样本,其中920个死亡,938个存活,无缺失值存在


2.分类变量编码:分类变量编码方式及频数


3.拟合模型检验:原假设是“所有影响因素的偏回归系数均为0”,这里可以看出P<0.05拒绝原假设,认为有偏回归系数不为零的因素,值得进一步分析。


4.方程式中变量:多元回归结果,第二列B为偏回归系数,最后三列为OR值及其置信区间。


5.协变量均值处的生存函数:总体的生存函数。患者生存率下降较快


6.生存函数:在控制了其他变量后,有无治疗的生存函数对比,可以直观看出,接受Lev+5FU治疗的患者的生存情况优于未接受治疗Obs和接受治疗Lev的患者。

3、生存分析-R语言


生存分析方法分类

1.参数法:假定生存时间服从某个特定的分布,然后根据分布的特点对生存时间进行分析,常用方法有指数分布法、weibull分步法、对数正态回归分布法等。参数法通过估计的参数得到生存率的估计值,对于两组及多组的样本可根据参数估计对其进行统计推断。
早期应用于武器使用寿命的研究等。

2.非参数法:根据样本的顺序统计量对生存率进行估计,常用的方法有log-rank检验、似然比检验,对于两个及多个生存率的比较,其零假设为两组或多组总体生存时间分布相同,而不对其具体的分布形式及参数进行推断。 
常用于随访资料医学研究。

3.半参数法:只规定了影响因素和生存状况间的关系,但是没对时间(和风险函数)的分布情况加以限定。
这种方法主要用于分析生存率的影响因素,属于多因素分析方法,起典型方法是cox比例风险模型。
Cox模型分析法以风险率函数作为应变量,以与生存时间可能有关的协变量或交互项作为自变量来分析生存率。


生存分析使用R包

install.packages("Survival")
library(survival)

survival包中自带数据集ovarian

head(ovarian)


  futime fustat     age resid.ds rx ecog.ps
1     59      1 72.3315        2  1       1
2    115      1 74.4932        2  1       1
3    156      1 66.4658        2  1       2
4    421      0 53.3644        2  2       1
5    431      1 50.3397        2  1       1
6    448      0 56.4301        1  1       2
其中包含生存时间futime、状态fustat、治疗组别rx、ECOG评分ecog.ps等信息


参数法——survreg()函数

survreg(formula, data, dist, subset)
参数解释:
formula形如Y~X1+X2+X3,但注意生存分析中的应变量Y通常为Surv()函数处理的生存时间;data是数据在R中的名字,subset可以对数据进行筛选。
dist为因变量的分布,包括weibull(weibull分布)、exponential(指数分布)、gaussian(伽马分布)、logistic(logistic分布)、loglogistic(对数logistic分布)和lognormal(对数正态分布)。

示例:

canshufa<-survreg(Surv(futime,fustat)~ecog.ps+rx,ovarian,dist="exponential")
summary(canshufa)

Call:
survreg(formula = Surv(futime, fustat) ~ ecog.ps + rx, data = ovarian, 
    dist = "exponential")
             Value Std. Error      z        p
(Intercept)  6.962      1.322  5.267 1.39e-07
ecog.ps     -0.433      0.587 -0.738 4.61e-01
rx           0.582      0.587  0.991 3.22e-01

Scale fixed at 1 

Exponential distribution
Loglik(model)= -97.2   Loglik(intercept only)= -98
        Chisq= 1.67 on 2 degrees of freedom, p= 0.43 
Number of Newton-Raphson Iterations: 4 
n= 26 

分析:p=0.43>0.05因此两条生存曲线分布无显著性差异


非参数法——survdiff()函数

survdiff(formula, data, subset, rho) 
参数解释:
formula:形如Surv(time, status)~predictors;
data是数据在R中的名字,subset可以对数据进行筛选。
rho数量参数用以指定检验类型,0为log-rank法或Mantel-Haenszel法,1为Wilcoxon法,默认为0。

示例:

survdiff(Surv(futime,fustat)~rx,data=ovarian)

Call:
survdiff(formula = Surv(futime, fustat) ~ rx, data = ovarian)

      N Observed Expected (O-E)^2/E (O-E)^2/V
rx=1 13        7     5.23     0.596      1.06
rx=2 13        5     6.77     0.461      1.06

 Chisq= 1.1  on 1 degrees of freedom, p= 0.303 
 
分析:p=0.303>0.05,两种治疗方式无显著性差异,所以两种对于卵巢治疗方式没有显著性差异

此外,我们还可以通过绘制其生存曲线来查看结果,所使用的函数为survfit(): 
示例:

feicanshu<-survfit(Surv(futime,fustat)~rx,data=ovarian)
plot(feicanshu,col=rainbow(2),lty=1,xlab="生存时间/天",ylab="生存率",main="生存曲线")
legend("topright",c("rx=1","rx=2"),lty=1:2,col=rainbow(2))

生存曲线呈阶梯状:其中纵坐标为生存率,横坐标为生存时间,线上的短的竖线表示截尾值。
每一级阶梯代表一个死亡时间点(在结尾时间点无阶梯);如果最大时间点是截尾则生存曲线不与曲线相交,否则与横轴相交。

半参数法——coxpy()函数

coxph(formula, data, subset)
参数解释:
formula,形如Y~X1+X2+X3+…+Xn,但Y必须为Surv()函数返回的结果;
data是数据集在R中的名称,subset可以对数据进行筛选


示例:

数据:pcb肝硬化数据


bancanshu<-coxph(Surv(time,status)~sex+trt+ascites+ hepato+spiders,data=mydata)
summary(bancanshu)

Call:
coxph(formula = Surv(time, status) ~ sex + trt + ascites + hepato + 
    spiders, data = mydata)

  n= 292, number of events= 125 
   (100 observations deleted due to missingness)

           coef exp(coef) se(coef)     z Pr(>|z|)    
sexm    0.35806   1.43056  0.24070 1.488 0.136861    
trt     0.05184   1.05321  0.18531 0.280 0.779660    
ascites 1.65734   5.24533  0.25286 6.554 5.59e-11 ***
hepato  0.90319   2.46745  0.21273 4.246 2.18e-05 ***
spiders 0.65612   1.92729  0.19702 3.330 0.000868 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

        exp(coef) exp(-coef) lower .95 upper .95
sexm        1.431     0.6990    0.8925     2.293
trt         1.053     0.9495    0.7325     1.514
ascites     5.245     0.1906    3.1955     8.610
hepato      2.467     0.4053    1.6262     3.744
spiders     1.927     0.5189    1.3099     2.836

Concordance= 0.762  (se = 0.028 )
Rsquare= 0.272   (max possible= 0.987 )
Likelihood ratio test= 92.83  on 5 df,   p=0
Wald test            = 111.7  on 5 df,   p=0
Score (logrank) test = 145.8  on 5 df,   p=0


分析:给出了风险比对数,风险比,标准误差,p值 ,风险比,置信区间和模型检验等信息
参数检验也基本表明,自变量ascites(腹水积液),hepato(肝肿大),spiders(皮肤血管畸形)对于结果有显著性影响(*表示显著程度)。

基本结果了解后,若要找到最佳模型,我们可以进行变量选择,这里采用逐步回归法进行分析

library(MASS)
bancanshu2<-stepAIC(bancanshu,direction="both")

Start:  AIC=1184.05
Surv(time, status) ~ sex + trt + ascites + hepato + spiders

          Df    AIC
- trt      1 1182.1
<none>       1184.0
- sex      1 1184.1
- spiders  1 1192.8
- hepato   1 1201.0
- ascites  1 1214.8

Step:  AIC=1182.13
Surv(time, status) ~ sex + ascites + hepato + spiders

          Df    AIC
<none>       1182.1
- sex      1 1182.2
+ trt      1 1184.0
- spiders  1 1191.0
- hepato   1 1199.1
- ascites  1 1213.2
由最后结果可以知道,只包含变量ascites,hepato,spiders的模型是最佳模型。 

summary(bancanshu2)

Call:
coxph(formula = Surv(time, status) ~ sex + ascites + hepato + 
    spiders, data = mydata)

  n= 292, number of events= 125 
   (100 observations deleted due to missingness)

          coef exp(coef) se(coef)     z Pr(>|z|)    
sexm    0.3568    1.4288   0.2407 1.483 0.138190    
ascites 1.6417    5.1640   0.2465 6.659 2.75e-11 ***
hepato  0.9029    2.4669   0.2127 4.244 2.19e-05 ***
spiders 0.6584    1.9317   0.1970 3.342 0.000831 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

        exp(coef) exp(-coef) lower .95 upper .95
sexm        1.429     0.6999    0.8915     2.290
ascites     5.164     0.1936    3.1852     8.372
hepato      2.467     0.4054    1.6258     3.743
spiders     1.932     0.5177    1.3130     2.842

Concordance= 0.756  (se = 0.027 )
Rsquare= 0.272   (max possible= 0.987 )
Likelihood ratio test= 92.75  on 4 df,   p=0
Wald test            = 111.9  on 4 df,   p=0
Score (logrank) test = 145.8  on 4 df,   p=0

绘制生存曲线:

plot(survfit(bancanshu2),col=c("black","darkred","darkgrey"),lty=1,xlab="生存时间/天",ylab="生存率",main="生存曲线")
legend("bottomleft",c("ascites","hepato","spiders"),lty=1:2,col=c("black","darkred","darkgrey"))

注:数据可能不恰当导致分析有所偏颇


4、生存分析——在线工具


生存分析除了采用R、SPSS等软件外,也可以应用在线工具
网址:http://kmplot.com/analysis/

下面简单介绍下这个在线工具KM plotter
打开界面:

KM plotter 应用一万余个癌症样本评估了五万多个基因对于生存的影响,其中样本来自于对乳腺癌、卵巢癌、肺癌、胃癌患者数十个月的随访,因此该网站可以进行乳腺癌、卵巢癌、肺癌、胃癌的mRNA表达和乳腺癌miRNA的预后分析。


下面以乳腺癌为例进行预后分析:
点第一个预选框进入breast canner的预后分析界面
1.输入Affy id 或者Gene symbol(例如:STAT2)
2.病人划分:中值、四分位值等(例如:median)
3.生存状态:RFS(无复发生存)、OS(总生存期)、DMFS(无病生存)、PFS(无进展生存)(例如RFS)
4.探针集合选项设置(例如:user selected probe set)


5.肿瘤分型设置
6.绘图

得到结果:

同理也可对其他癌症进行类似的预后分析并画出生存曲线。

欢迎留言补充其他工具。

限时福利,买一送一
























试听视频

线上课程+理论与实操+专属学习群

  录播课程,可随时随地学,无限次收听

 报名咨询

请扫描微信二维码添加胡老师备注 “ 临研课程 

欢迎加入1220+人的中国临床试验千人通讯录


精品课程推荐


福利|临床研究系列训练营买一送一 

SAS程序员统计编程技能系列录播课程

统计程序员TFLs编程系列录播课程

直播预告|CRA系列课程:第一弹

药物警戒系列课程模块一二三四

临床试验数据管理系列录播课程

SAS 绘图系列课程

生翼计划:临床SAS程序员实战项目训练营

统计师必看:从实际案例系统学习临床试验前沿设计方法

生存分析实操训练营

期中分析设计实操训练营

免费公开课| define.xml 2.1培训系列课程

免费公开课|21节SAS Base初级编程系列课程


精品资料推荐


领取|临床试验统计编程全套干货资料包!

法规|ICH-GCP中英文对照(最完整版)

收藏|E9:临床试验统计原则(另附中英文对照词汇表)

免费公开课|21节SAS Base初级编程系列课程

领取|临床研究统计方法必看的15本知名书籍!

领取|杜克临床研究所的临床试验手册

汇总|临床试验十七个相关知识点

免费领取|临床研究几本经典书籍 !

限时领取|真实世界研究全套资料包!

最全汇总:Define-XML 2.1指导原则讲解视频

分享|专属生物统计师的几本经典书籍

|CDISC-SDTM基本理论及实践系列文章汇总

领取|8.72G临床试验精华资料包(180个文件)送给临研人的福利!

收藏|50本必读的临床试验书籍!

好书推荐|新药临床试验实践

推荐|学习群体药动学-药效学(PK-PD)必看书籍!

领取|符合国际标准的全套临床SOP资料包,651个文件供你参考学习!

汇总帖:CDISC标准干货文章和资料精选

汇总帖:生物统计系列干货文章和资料精选

汇总帖:SDTM干货文章和资料精选

分享|英文书籍:临床试验的贝叶斯自适应方法

领取|ADC(抗体药物偶联物)知名书籍:研发,临床,注册及市场发展

收藏|生物等效性试验(BE试验)比较全面的知名书籍!

汇总|CDE ICH指导原则全系列培训视频

领取|药物警戒法规资料中英文版汇总

领取|学习生物制药CMC必看的23本书籍!

免费领取|书籍: 临床数据管理实用指南第三版
收藏|抗肿瘤药物创新研发必看16本书籍!

收藏|547页CDASHIG v2.3 FINAL

领取知名书籍:新临床试验人员的基本概念&药物开发中的定量决策

领取|临床研究设计与方案撰写资料包!                                    

汇总|生物统计系列十五篇干货文章

汇总|生物统计学常用统计分析方法系列文章

福利|专属CRC的全套资料包免费领取啦,赶快拿走吧!

汇总|SAS编程应用及相关知识分享系列文章

收藏|药物临床试验必备文件及相关管理要求

>>>>

公众号推荐

欢迎关注法迈新媒体


更多,更及时的干货内容,请加我们的微信公众号法迈医讯诚邀业内人士及机构向我们投稿。投稿邮箱:bellama@pharmanews.cn 


【免责声明】文章为网络整理,不代表“法迈医讯”立场。如因作品内容、版权等存在问题,请于本文刊发30日内联系法迈医讯进行删除或洽谈版权使用事宜。

法迈医讯作为法迈新媒体微信公众号矩阵之一, 法迈新媒体是国内一家面向制药行业供应链综合服务平台,致力于服务全球制药行业从业人员。以创新的互网+模式服务于行业用户,形成以“资源整合知识共享”为核心,微信公众号矩阵、社群矩阵为分支的新媒体模式,力争打造国内活跃和具影响力的专业化平台 !

法迈医讯
法迈新媒体---本着“资源整合,知识共享”的初心,致力服务于(新药研发,临床试验,医药外包服务,新药注册与上市等等)医药行业从业人员。汇集:新闻热点,市场动态,干货知识,政策法规,产业链分析等等资讯。
 最新文章