生存分析
方法简介
Kaplan-Meier 生存曲线和 Cox 比例风险模型是时间-事件数据(OS、PFS、TTR 等)的标准分析方法。
代码实现
library(survival)
library(survminer)
# KM 估计
km_fit <- survfit(Surv(avalu, event) ~ treatment, data = adtte)
# Log-rank 检验
survdiff(Surv(avalu, event) ~ treatment, data = adtte)
# Cox 回归
cox_fit <- coxph(Surv(avalu, event) ~ treatment + strata, data = adtte)
summary(cox_fit)
from lifelines import KaplanMeierFitter, CoxPHFitter
# KM
kmf = KaplanMeierFitter()
kmf.fit(durations=adtte['avalu'], event_observed=adtte['event'])
# Cox
cph = CoxPHFitter()
cph.fit(adtte[['avalu', 'event', 'treatment', 'strata']],
duration_col='avalu', event_col='event')
cph.print_summary()
proc lifetest data=adtte plots=survival;
time avalu * event(0);
strata treatment;
run;
proc phreg data=adtte;
class treatment strata;
model avalu * event(0) = treatment strata / risklimits;
hazardratio treatment;
run;
相关可视化
注意事项
- 比例风险假设检验 (Schoenfeld residuals)
- 非比例风险时的替代方法 (RMST, 加权 log-rank)