用 Weibull 模型估計平滑存活曲線

R 的生存分析

Heidi Seibold

Statistician at LMU Munich

為什麼用 Weibull 模型?

R 的生存分析

在 R 中計算 Weibull 模型

Weibull 模型:

wb <- survreg(Surv(time, event) ~ 1, data)
R 的生存分析

在 R 中計算 Weibull 模型

Weibull 模型:

wb <- survreg(Surv(time, event) ~ 1, data)

Kaplan-Meier 估計:

km <- survfit(Surv(time, event) ~ 1, data)
R 的生存分析

從 Weibull 模型計算指標

wb <- survreg(Surv(time, cens) ~ 1, data = GBSG2)

有 90% 病患在此時間點之後仍存活:

predict(wb, type = "quantile", p = 1 - 0.9, newdata = data.frame(1))
       1 
384.9947

因為分配函數等於 1 減去存活函數,所以用 p = 1 - 0.9

R 的生存分析
wb <- survreg(Surv(time, cens) ~ 1, data = GBSG2)

存活曲線:

surv <- seq(.99, .01, by = -.01)

t <- predict(wb, type = "quantile", p = 1 - surv, newdata = data.frame(1)) head(data.frame(time = t, surv = surv))
       time surv
 1  60.6560 0.99
 2 105.0392 0.98
 3 145.0723 0.97
 4 182.6430 0.96
 5 218.5715 0.95
 6 253.3125 0.94
R 的生存分析

一起來練習吧!

R 的生存分析

Preparing Video For Download...