当前位置: 首页>前端>正文

166:生存曲线图中的At risk怎么求?

感谢读者朋友们的“鞭策“,逼着我去学习。你们的问题,只要是跟我工作相关的,而且有很大概率遇到的,我都会想办法帮你们解决。但是你说想让我解决一下DVP相关的问题,我能替你找资料我就觉得很不错了,望见谅。

有读者问生存曲线图的at risk怎么求出来的?所以今天就讲讲画生存曲线图。有时间再系统讲讲生存分析。

像上面就是一张挺经典的生存曲线图,不过它不是OS的生存曲线图,而是DFT生存曲线图,X轴一般代表时间,Y轴一般代表生存概率。

了解Kaplan-Meier图为什么有用是很重要的。Kaplan-Meier图很有用,因为它们直观地显示了一个事件在给定时间间隔内的概率。对于OS, Kaplan-Meier曲线显示的是存活的概率。有了这个,你就可以分析治疗的效果。拥有有效的治疗方法,以及满足安全要求的治疗方法,有助于获得监管机构的批准。

今天我们就重点讲一下这个at Risk:

at Risk:

按照字面意思,就是处于风险中,我们知道得了肿瘤的了,进入一项临床试验,他们都是处于风险中(可能死亡),假设一项试验入组了100例受试者,那么at risk的人数就是100.

然后生存概率的计算,应该也是Kaplan-Meier方法的底层实现逻辑,就是:

生存概率的计算是用之前死亡时的生存概率计算出来的,如果有先前的生存概率可用,那么就用

166:生存曲线图中的At risk怎么求?,第1张

比如,在一个有100例受试者的临床试验中,一开始的at Risk人数是100,然后在3个月的时候死亡1个,那么这时候的生存概率就是1-(1/100)=0.99;

然后在6个月的时候又死亡5人,那么这时候的生存概率就是0.99x(1-(5/99))=0.94。

一开始有个困惑,就是6个月的时候死亡5人,分母怎么还是99,为什么不是94?后来想想,你这个分子5是在99人基础上的,就像你一开始分母是100,而不是99呢?所以有点绕,至少对我来说是这样的,我再强调一遍我数学不太好。

然后一想,生存概率为什么要这样算呢?一开始死亡1人,剩余99人,那么生存概率就是99/100=0.99,这个应该没问题吧。

然后又死亡5人,那么就剩下94人,生存概率就是94/100=0.94,这样算我不知道可不可以,不知道到后面会不会有差异,至少前面几个跟上面的算法算出的概率是一样的,这个我得保留意见,后面求证一下。

所以KM方法求生存概率是可以手算出来的。

然后我们一般是通过SAS中的proc lifetest/PROC PHREG实现生存概率的求值。

然后这两个过程生成的数据集有以下,我们可以通过ods output输出

166:生存曲线图中的At risk怎么求?,第2张

我们想要的at Risk就存在于这个SurvivalPlot数据集里面!然后中位生存时间就存在Quartiles这个数据集里面。

先让你们看看截图,就是这个AtRisk变量。

166:生存曲线图中的At risk怎么求?,第3张

如何求出这些数据集,过程步一般是这样的:

ods graphics on;

ods output survivalplot = survivalplot;

proc lifetest data = adam.adtte?plots=survival(atrisk = 0 to 210 by 30);

? ?time aval * cnsr(1);

? ?strata trtpn;

run;

ods graphics off;

这里顺便说一下,有时候只写proc lifetest?的时候,没有这个ods graphics on语句,SAS会报这个错误

WARNING: ODS graphics must be enabled to obtain the full features of the PLOTS= option.

166:生存曲线图中的At risk怎么求?,第4张

加上ods graphics on就好了,为什么?待定

然后plots=survival(atrisk = 0 to 210 by 30),这个210和30这些数字怎么来的呢?目前我还没看到相关资料,猜测是根据你这张图包括的受试者中AVAL值最大的,然后你可以向上求个整,by多少你自己看下稍微合理的就可以把(熟悉的欢迎指教)

通过上面的过程,SAS就会自动在result窗口生成一张生存曲线图,比如下面这样(这是SAS自动生成的):

166:生存曲线图中的At risk怎么求?,第5张

有了数据集,我们就可以画图了。生存曲线图就是step plot?&?scatter plot的结合。

166:生存曲线图中的At risk怎么求?,第6张

代码就这几段,多画一个scatter?plot纯粹是为了右上角的那个删失标志,否则的话只有一个散点图,还想有删失标志,就变成了这样:

166:生存曲线图中的At risk怎么求?,第7张

然后at?risk怎么输出,就是通过xaxistable atrisk,class = stratum用来区分不同组别,location决定放在图里面还是外面。

就讲这些吧,主要是讲如何输出at risk。后面再详细讲如何画生存曲线图。

参考资料:《SAS Graphics for Clinical Trials by Example》


https://www.xamrdz.com/web/2t31995276.html

相关文章: