pyo*_*yon 4 r survival-analysis
我正在使用survival图书馆.在计算了生存函数的Kaplan-Meier估计量之后:
km = survfit(Surv(time, flag) ~ 1)
Run Code Online (Sandbox Code Playgroud)
我知道如何计算百分位数:
quantile(km, probs = c(0.05,0.25,0.5,0.75,0.95))
Run Code Online (Sandbox Code Playgroud)
但是,我如何计算平均生存时间?
eip*_*i10 10
平均存活时间通常取决于为最大存活时间选择的值.您可以获得受限制的平均生存时间print(km, print.rmean=TRUE).默认情况下,这假设最长生存时间等于数据中最长的生存时间.您可以通过添加rmean参数(例如,print(km, print.rmean=TRUE, rmean=250))将其设置为不同的值.
回应你的评论:我最初认为可以通过查看返回的对象来提取平均生存时间print(km, print.rmean=TRUE),但事实证明,print.survfit它不返回列表对象,只是将文本返回到控制台.
相反,我查看了代码print.survfit(您可以通过getAnywhere(print.survfit)在控制台中键入来查看代码)以查看平均生存时间的计算位置.事实证明,一个被调用的函数survmean可以解决这个问题,但它不是一个导出的函数,这意味着当你尝试像"普通"函数一样运行它时,R将无法识别该函数.因此,要访问该函数,您需要运行下面的代码(您需要rmean显式设置):
survival:::survmean(km, rmean=60)
Run Code Online (Sandbox Code Playgroud)
您将看到该函数返回一个列表,其中第一个元素是具有多个命名值的矩阵,包括均值的均值和标准误差.因此,要提取平均生存时间,您可以:
survival:::survmean(km, rmean=60) [[1]]["*rmean"]
Run Code Online (Sandbox Code Playgroud)
帮助print.survfit提供有关选项的详细信息以及如何计算限制均值:
?print.survfit
Run Code Online (Sandbox Code Playgroud)
均值及其方差基于截断的估计.也就是说,如果最后一次观察不是死亡,那么生存曲线估计不会变为零并且平均值是不确定的.有四种可能的解决方法,由rmean选项选择.第一种是将上限设置为常数,例如rmean = 365.在这种情况下,报告的平均值将是每组中将经历的前365天的预期天数.如果兴趣集中在固定期间,这将非常有用.其他选项是"无"(无估计),"共同"和"个人"."common"选项使用对象中所有曲线的最大时间作为auc计算的公共上限.对于"单个"选项,平均值计算为每条曲线下的面积,范围从0到该曲线的最大观察时间.由于终点是随机的,因此不同曲线的值不具有可比性,并且打印的标准误差是低估的,因为它们没有考虑这种随机变化.此选项主要用于向后兼容性,因为此估计值是早期版本代码中的默认值(仅).请注意,SAS(自版本9.3起)使用每个曲线的最后一个事件时间的积分; 我们认为这是最糟糕的选择,并没有提供该计算的选项.
| 归档时间: |
|
| 查看次数: |
6112 次 |
| 最近记录: |