proc lifetest计算生存概率默认的方法是Kaplan-Meier (K-M)估计,也叫乘积-极限法(product-limit method),因此你看proc lifetest输出的第一个结果title叫product-limit survival estimates。所以你写不写proc lifetest method=km都没有关系,而K-M估计的公式如下
S(ti) 等于上一个时间点 i-1 的生存概率乘以1与di/ni差值,S(ti-1) 表示在上一个时间点 i-1 的生存概率,ni是ti点前存活总人数(包括删失的人数),di是在ti发生事件的数目,ti 表示第 i 个时间点。公式应该等同于下面这个
接下来我们比较一下不同组别之间的生存概率,根据我看过的这么多篇文章和资料来看,区分不同组别之前的生存概率,用的都是strata选项,而不是用by选项,在实际工作中,这两个方式计算出来的生存概率差不多是一致的(注意是差不多)。
根据SASHELP的解释,by只是单纯的分组:
而strata选项,定义了分层水平,说实话,根据我现在的知识水平,我理解不了这两个之间的区别。根据不同组别区分生存概率,这个组别是分层水平吗?还是单纯地分组?或者这个组别是否要作为一个协变量,然后这个协变量有3个水平,那么这时候用strata应该是没有问题的。
这边顺便说下协变量的定义:协变量指受试者服用试验药物之前,预计会对主要变量分析产生重要影响的因素,这类变量可以是定性的也可以是定量的,抑或是等级的;可以是人口统计学指标比如年龄、体重、BMI那些;也可以是病程或者病情严重程度等;或者是中心或者研究者这些因素。
那么处于不同的组别也可能对主要结果产生重要的影响。但是我感觉这并不是协变量。所以关于用strata和by等我再找找资料。
至于生成的结果,只不过是把第一篇文章生成的结果分成3个组别分别展示,所以这里就不再解释了。
我们来看看SAS自动画的图
其中蓝色是安慰剂组,红色是高剂量组;绿色是低剂量组,xanomeline中文名叫呫诺美林,是一种能够用于精神分裂症等神经障碍的药。
在生存曲线中,如果曲线的斜率很陡,说明生存概率在急速下降;如果感兴趣的事件是发生死亡,那么高剂量组和低剂量组相比安慰剂生存概率更低,那这就不是医生和患者想看到的,相反,如果曲线比较平缓,说明有一个更好的生存概率。
这个ADTTE数据集,他感兴趣的事件是至第一次皮肤病的时间,即PARAM="Time to First Dermatologic Event"。
说实话不知道这个药跟皮肤病有什么关系,官网上也没有关于这个数据集的介绍,网上对于xanomeline这个药物的介绍也很少,貌似是一种新药,最关键的是,给药组发生事件的概率远远超过安慰剂组,这个就很困惑了。
根据Test of Equality over Strata这张表,提供了3种检验方法,且P值都小于0.05,因此可以得出至皮肤病时间跟不同组别有显著相关。
在这里我们特别使用log-rank检验看看,同时因为有3个组别,我们使用adjust =SIDAK选项为多个比较调整log-rank检验之后的结果。test选项提供“进行什么样的检验”,比如LOGRANK;WILCOXON,LR等等。
adjust选项指定用于调整成对检验的p值的多重比较方法(specifies the multiple-comparison method for adjusting the p-values of the paired tests.)。调整方法有BONFERRONI、SIDAK、TUKEY等,这两个选项的所有可选值具体查看SASHELP。
odsgraphics on;
proclifetest data=adtte;
timeaval*cnsr(1);
strataTRTP/test=logrank adjust=sidak;
run;
odsgraphics off;
通过图中的结果,我们知道在对数秩检验(LOG-RANK)的多重比较调整之后,安慰剂和高剂量组以及安慰剂和低剂量组之间有统计学显著差异。但是高剂量组和低剂量组之间不存在显著差异。这个也跟一开始的图对应上了。
当然,我们在最后总结的时候,得图和表一起结合起来得出结论,不能仅仅依靠图或者表。
网友评论