代码之家  ›  专栏  ›  技术社区  ›  Leonard Michalon

Kaplan-Meier曲线下一段时间间隔的面积

  •  1
  • Leonard Michalon  · 技术社区  · 7 年前

    我想计算一段时间内Kaplan-Meier曲线下的面积。我知道我可以计算从0到t的曲线下的面积,也就是限制平均生存时间 print.survfit 功能:

    library(survival)
    km <- survfit(Surv(futime, fustat) ~ 1, data = ovarian)
    print(km, rmean = 600)
    

    但是,我想要的是一段时间间隔内卡普兰-迈耶曲线下的面积,例如从t1到t2。 有没有办法左截断卡普兰-迈耶曲线下面积的计算? 欢迎提出任何建议!

    3 回复  |  直到 7 年前
        1
  •  1
  •   IRTFM    6 年前

    生存曲线“周围”的方差非常类似于二项过程中比例的方差。在您的情况下,您显然能够计算t1之前数据的方差。因此,截断t1处的数据,然后计算t2的方差。

    就像@Oka,我想知道你为什么想要AUC,但后来我意识到AUC只是一条完整的公里曲线的“预期寿命”,单位是“年”或其他时间单位。

     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 
    
        2
  •  0
  •   Oka    6 年前

    所以你知道如何 AUC(0-t1) AUC(0-t2) . 正如@missuse在评论中指出的那样, AUC(t1-t2) = AUC(0-t2) - AUC(0-t1) .

    我不确定你是否能得到 方差 因为从技术上讲,你有一条线和线下的一个区域(AUC)。你能做的是

    ( 1. )绘制Kaplan-Myer 95%可信区间图

    ( 2. )计算 AUC(t1-t2) 对于上CI

    ( 3. )计算 AUC(t1-t2) 对于较低CI

    ( 4. )以与表示正常95%置信区间相同的方式将结果表示为范围。

    这样行吗?还有:为什么要使用公里曲线下的面积?因为,正如@42-所指出的,你将以一些时间单位达到“预期寿命”,你不需要公里数就能到达那里(?)

        3
  •  0
  •   Leonard Michalon    6 年前

    实际上,由于 surv2sample surv2sampleComp 包裹它通过重新采样来实现。

    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