医学

生存分析怎么做:Kaplan-Meier 曲线与 Cox 回归结果怎么写

作者 / 审校:shujufenxi 编辑部·最后审校 2026-04-21

你遇到的问题

你的随访数据里有一部分患者到研究结束仍未发生终点事件,还有人中途失访,直接比较两组的「平均生存时间」显然不对;软件里跑出了 Kaplan-Meier 曲线和 Cox 回归,但 log-rank、HR、删失这些结果该怎么组织成论文语言,你心里没底。

适用场景

当结局是「到某事件发生的时间」(死亡、复发、进展)且存在删失(censoring,即随访结束或失访时事件尚未发生)时,用生存分析:Kaplan-Meier 法估计生存曲线并用 log-rank 检验比较组间差异,Cox 比例风险回归用于估计风险比(HR)并校正混杂因素;Cox 回归要求满足等比例风险假定,即各协变量的 HR 不随时间变化,删失应与结局无关(无信息删失)。

正确做法

先报告随访情况(中位随访时间、事件数与删失数),用 Kaplan-Meier 法绘制生存曲线并在图下附各时点风险人数(number at risk),组间比较报告 log-rank 检验的 χ² 与 p 值,并给出各组中位生存期及其 95% CI(若中位数未达到需注明);随后用 Cox 回归报告校正后的 HR、95% CI 与 p 值,并用 Schoenfeld 残差检验等比例风险假定(如 R 中的 cox.zph),假定不满足时可考虑分层 Cox 或引入时依协变量。曲线图、log-rank 结果与 Cox 表格三者应配套呈现。

报告示例:中位随访 36.0 个月期间,观察组与对照组分别发生终点事件 42 例和 28 例。Kaplan-Meier 分析显示,观察组中位生存期为 18.2 个月(95% CI 14.5~23.1),对照组为 27.5 个月(95% CI 22.8~33.4),两组生存曲线差异有统计学意义(log-rank χ² = 8.76,p = .003)。校正年龄、分期后的多因素 Cox 回归显示,观察组死亡风险为对照组的 1.86 倍(HR = 1.86,95% CI 1.23~2.81,p = .003);基于 Schoenfeld 残差的检验未提示违反等比例风险假定(全局检验 p = .41)。

常见错误

错误一:把删失个案当作「未发生事件」直接删除,或用 t 检验比较两组的平均随访时间,这会系统性地歪曲生存估计,删失信息必须通过生存分析方法纳入。错误二:只报 HR 和 p 值,不报 95% CI,也从不检验等比例风险假定;若两条生存曲线交叉而仍直接套用 log-rank 和常规 Cox 模型,结论可能完全失真,审稿人通常会要求补充 Schoenfeld 残差检验结果。

需要更进一步?

如果你已经有 SPSS、R 或 Stata 的生存分析输出,不确定中位生存期、HR、log-rank 这些结果如何组织成规范的中文或英文段落,可以把输出粘贴进统计结果解读器一键生成;如果涉及竞争风险、时依协变量或比例风险假定不满足的处理,建议预约辅导逐一解决。

操作步骤

SPSS

  1. 分析→生存分析→Kaplan-Meier
  2. 生存时间选入「时间」,结局状态选入「状态」并定义事件值,分组变量选入「因子」
  3. 点击「比较因子」,勾选「对数秩」(Log rank)
  4. 点击「选项」,勾选「生存分析表」「均值/中位数生存时间」与「生存函数」图
  5. 再做 Cox:分析→生存分析→Cox 回归,纳入协变量,输出 Exp(B)(HR)与 95% CI

R

library(survival)
df <- read.csv('data.csv')
# KM 生存曲线与 log-rank 检验
fit <- survfit(Surv(time, status) ~ group, data = df)
survdiff(Surv(time, status) ~ group, data = df)
# Cox 比例风险模型
summary(coxph(Surv(time, status) ~ group + age, data = df))

完整示例(模拟数据)

比较治疗组与对照组的生存时间并估计治疗对死亡风险的作用(标注:模拟数据样例)。

采用 Kaplan-Meier 法估计两组的生存曲线并以 log-rank 检验比较组间差异(模拟数据样例,N=180)。治疗组中位生存时间为 24.5 个月,对照组为 15.2 个月,log-rank χ²(1)=8.63,p=.003,差异显著。进一步以 Cox 比例风险模型校正年龄后,治疗组相对对照组的死亡风险显著降低,HR=0.58,95% CI [0.40, 0.84],p=.004。

统计量数值
治疗组中位生存时间24.5 个月
对照组中位生存时间15.2 个月
log-rank 检验χ²(1)=8.63,p=.003
风险比 HR(95% CI)0.58 [0.40, 0.84]

常见疑问

Kaplan-Meier 和 Cox 回归有什么区别?
Kaplan-Meier 用于描述单组或分组的生存曲线并配合 Log-rank 检验比较组间差异;Cox 比例风险回归可同时纳入多个协变量,估计各因素的风险比 HR。
生存分析里的删失是什么意思?
删失指在观察结束时仍未发生结局事件或中途失访的对象,其确切生存时间未知。生存分析的优势正是能合理利用这些不完整信息。
风险比 HR 怎么解释?
HR > 1 表示该因素增加事件发生风险,HR < 1 为保护因素,HR = 1 表示无影响;如 HR = 2 表示风险约为参照组的 2 倍,需看其 95% 置信区间。
Cox 回归的比例风险假设怎么检验?
可用 Schoenfeld 残差检验、绘制 log(-log) 生存曲线是否平行,或加入时间交互项检验。若不满足可改用分层 Cox 或含时依协变量模型。

参考来源

用统计结果解读器生成结果段落预约辅导

工具输出请自行核对后使用。内容参考见 方法论标准

相关文章

← 返回知识库