我正在使用 RMS 包中的函数 survest 来生成生存概率。我希望能够获取数据的子集并将其传递给 survest。我开发了一个 for 循环来执行此操作。这会运行并输出每组预测变量的生存概率。
for (i in 1:nrow(df)){
row <- df[i,]
print(row)
surv=survest(fit, row, times=365)
print(surv)
}
我的第一个问题是是否有一种方法可以使用 survest 来预测中位生存期,而不必指定特定的时间范围,或者是否有更好的函数可以使用?
其次,我希望能够仅使用我的 cox 模型的五个预测因子中的四个来预测生存率,例如(如下所示),虽然我知道这不太准确,是否可以使用 survest 来做到这一点?
survest(fit, expand.grid(Years.to.birth =NA, Tumor.stage=1, Date=2000,
Somatic.mutations=2, ttype="brca"), times=300)
最佳答案
要获取中位生存时间,请使用 Quantile
函数生成器或 survival
包中的 summary.survfit
函数。由 Quantile
创建的函数可以针对 0.5 分位数进行评估。它是线性预测的函数。您需要对观测子集使用 predict
函数来获取线性预测变量值,以计算中位数。
对于您的另外两个问题,survest
需要使用您拟合的完整模型(所有变量)。如果变量不可用,您将需要使用多重插补,或者像 fastbw
那样对模型进行快速近似修改。
关于r - 使用 R 中的 RMS 包预测生存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49513329/