基于生存时间的样本,我想使用 Kaplan-Meier 估计器估计某些特定有可能做到这一点吗?请注意,不一定是事件时间。R
估计 R 中的生存概率
机器算法验证
r
卡普兰迈尔
2022-02-11 07:49:30
2个回答
您可以使用包中survfit
函数的输出survival
并将其提供给stepfun
.
km <- survfit(Surv(time, status)~1, data=veteran)
survest <- stepfun(km$time, c(1, km$surv))
Nowsurvest
是一个可以随时评估的函数。
> survest(0:100)
[1] 1.0000000 0.9854015 0.9781022 0.9708029 0.9635036 0.9635036 0.9635036
[8] 0.9416058 0.9124088 0.9124088 0.8978102 0.8905109 0.8759124 0.8613139
[15] 0.8613139 0.8467153 0.8394161 0.8394161 0.8175182 0.8029197 0.7883212
[22] 0.7737226 0.7664234 0.7664234 0.7518248 0.7299270 0.7299270 0.7225540
[29] 0.7225540 0.7151810 0.7004350 0.6856890 0.6856890 0.6783160 0.6783160
[36] 0.6709430 0.6635700 0.6635700 0.6635700 0.6635700 0.6635700 0.6635700
[43] 0.6561970 0.6488240 0.6414510 0.6340780 0.6340780 0.6340780 0.6267050
[50] 0.6193320 0.6193320 0.5972130 0.5750940 0.5677210 0.5529750 0.5529750
[57] 0.5456020 0.5456020 0.5456020 0.5382290 0.5382290 0.5308560 0.5308560
[64] 0.5234830 0.5234830 0.5234830 0.5234830 0.5234830 0.5234830 0.5234830
[71] 0.5234830 0.5234830 0.5161100 0.5087370 0.5087370 0.5087370 0.5087370
[78] 0.5087370 0.5087370 0.5087370 0.4939910 0.4939910 0.4866180 0.4866180
[85] 0.4791316 0.4791316 0.4791316 0.4716451 0.4716451 0.4716451 0.4640380
[92] 0.4640380 0.4564308 0.4564308 0.4564308 0.4412164 0.4412164 0.4412164
[99] 0.4412164 0.4257351 0.4179945
可以将时间参数传递给 survfit 对象的摘要函数:
summary(km, times=100)
也可以传递一个向量:
summary(km, times=0:100)