gpt4 book ai didi

r - 如何计算平均生存时间

转载 作者:行者123 更新时间:2023-12-01 22:47:26 24 4
gpt4 key购买 nike

我正在使用survival库。计算生存函数的 Kaplan-Meier 估计量后:

km = survfit(Surv(time, flag) ~ 1)

我知道如何计算百分位数:

quantile(km, probs = c(0.05,0.25,0.5,0.75,0.95))

但是,我如何计算平均生存时间?

最佳答案

计算平均生存时间

平均生存时间通常取决于为最大生存时间选择的值。您可以使用 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) 

您将看到该函数返回一个列表,其中第一个元素是一个具有多个命名值的矩阵,包括平均值和平均值的标准误差。因此,要提取例如平均生存时间,您可以执行以下操作:

survival:::survmean(km, rmean=60)[[1]]["*rmean"]

有关如何计算平均生存时间的详细信息

print.survfit 的帮助提供了有关选项以及如何计算限制平均值的详细信息:

?print.survfit 

The mean and its variance are based on a truncated estimator. That is,if the last observation(s) is not a death, then the survival curveestimate does not go to zero and the mean is undefined. There are fourpossible approaches to resolve this, which are selected by the rmeanoption. The first is to set the upper limit to a constant,e.g.,rmean=365. In this case the reported mean would be the expectednumber of days, out of the first 365, that would be experienced byeach group. This is useful if interest focuses on a fixed period.Other options are "none" (no estimate), "common" and "individual". The"common" option uses the maximum time for all curves in the object asa common upper limit for the auc calculation. For the"individual"options the mean is computed as the area under each curve,over the range from 0 to the maximum observed time for that curve.Since the end point is random, values for different curves are notcomparable and the printed standard errors are an underestimate asthey do not take into account this random variation. This option isprovided mainly for backwards compatability, as this estimate was thedefault (only) one in earlier releases of the code. Note that SAS (asof version 9.3) uses the integral up to the last event time of eachindividual curve; we consider this the worst of the choices and do notprovide an option for that calculation.

关于r - 如何计算平均生存时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43173044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com