我想计算一个间隔时间在Kaplan-Meier曲线下的面积。我知道我可以计算从0到t的曲线下面积,也就是使用print.survfit
函数限制平均生存时间:
library(survival)
km <- survfit(Surv(futime, fustat) ~ 1, data = ovarian)
print(km, rmean = 600)
但是,我想要的是Kaplan-Meier曲线下一段时间间隔的区域,例如:从t1到t2。有没有办法在Kaplan Meier曲线下截断区域的计算?任何建议都会受到欢迎!
生存曲线“周围”的方差非常类似于二项式过程的比例方差。在您的情况下,您显然能够计算最多t1的数据的方差。因此,在t1截断数据,然后计算到t2的方差。
就像@Oka一样,我想知道为什么你会想要AUC,但后来我意识到AUC只是完整KM曲线的“预期寿命”,单位将是“年”或其他时间单位。
str(ovarian)
'data.frame': 26 obs. of 6 variables:
$ futime : num 59 115 156 421 431 448 464 475 477 563 ...
$ fustat : num 1 1 1 0 1 0 1 1 0 1 ...
$ age : num 72.3 74.5 66.5 53.4 50.3 ...
$ resid.ds: num 2 2 2 2 2 1 2 2 2 1 ...
$ rx : num 1 1 1 2 1 1 2 2 1 2 ...
$ ecog.ps : num 1 1 2 1 1 2 2 2 1 2 ...
t1 = 400; t2 = 700
km <- survfit(Surv(futime, fustat) ~ 1, data = ovarian)
print(km, rmean = 400)
#---------------
Call: survfit(formula = Surv(futime, fustat) ~ 1, data = ovarian)
n events *rmean *se(rmean) median 0.95LCL 0.95UCL
26.0 12.0 355.6 18.5 638.0 464.0 NA
* restricted mean with upper limit = 400
km2 <- survfit(Surv(futime, fustat) ~ 1,
data = ovarian[ !(ovarian$futime <=400), ])
print(km2, rmean = 700)
#-----------------
Call: survfit(formula = Surv(futime, fustat) ~ 1, data = ovarian)
n events *rmean *se(rmean) median 0.95LCL 0.95UCL
26.0 12.0 532.2 41.1 638.0 464.0 NA
* restricted mean with upper limit = 700
所以你知道如何获得AUC(0-t1)
和AUC(0-t2)
。正如@missuse在他的评论中指出的那样,AUC(t1-t2) = AUC(0-t2) - AUC(0-t1)
。
我不确定你是否可以获得相应的差异,因为从技术上讲,你在该线下有一条线和一个区域(AUC)。你能做的是
(1)对Kaplan-Meier绘制95%CI
(2)计算AUC(t1-t2)
为上CI
(3)计算AUC(t1-t2)
的CI值较低
(4)以与表达正常95%置信区间相同的方式将结果表示为范围。
那会有用吗?而且:你为什么要使用KM曲线下的面积?因为,正如@ 42-指出的那样,你会得到一些时间单位的“预期寿命”,你不需要知识管理到达那里(?)
实际上,由于surv2sample
包的surv2sampleComp
,我最终想出了如何计算t1和t2之间AUC的方差。它通过重新采样来实现。
library("survival")
library("surv2sampleComp")
data(veteran)
# we need a group variable to use the surv2sample function
veteran$group <- as.numeric(veteran$karno < 70)
rmst <- surv2sample(veteran$time, veteran$status, veteran$group, npert = 500, tau_start= 100, tau = 200)
rmst$group0
#---------------
Est. Lower 95% Upper 95% SE
RMST 43.4025761 32.1207404 55.8039197 6.15988181
# results truncated