高级 会员 更新于 2026-05-07

生存分析在护理预后研究中的应用

1. 一句话告诉你这是什么

生存分析同时考虑”事件是否发生”和”距离事件发生的时间”两个维度。在护理研究中用于分析什么因素影响患者出现特定结局(如死亡、跌倒、再入院)的时间——比如衰弱程度如何影响老年人首次跌倒的时间。

2. 什么时候用,什么时候别用

适合用

  • 研究结局是事件发生时间(time-to-event),同时有人发生了事件、有人未发生(删失)
  • 预后建模,想知道哪些因素增加或降低了事件的瞬时风险(HR)
  • 想比较两组或多组的生存曲线差异(如干预组 vs 对照组的无再入院生存时间)

不适合用

  • 只关心”是否发生”而不关心”何时发生”(应用 Logistic 回归)
  • 删失率过高(50%\ge 50\%)且删失与结局机制相关
  • 风险比例假设不成立(Cox 回归的前提)

3. 数据准备清单

  • 时间变量(从起始时间到事件/删失的时间间隔)
  • 事件状态(0 = 删失,1 = 事件发生)
  • 至少一个分组变量或连续预测变量
  • 删失机制已评估(是否能假定为非信息删失)
  • 样本量充足(Cox 回归要求每变量的事件数 10\ge 10

4. 方法直觉

Kaplan-Meier 曲线是生存分析的名片:一条随时间下降的阶梯曲线,曲线越陡说明事件发生越快。

Cox 比例风险回归则是生存分析的”主力模型”,用危险比(HR)量化每个预测因子对事件风险的效应:

h(tX)=h0(t)×exp(β1X1+β2X2++βkXk)h(t | X) = h_0(t) \times \exp(\beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k)

h0(t)h_0(t) 是基线风险函数(不需要指定具体形状),exp(β)\exp(\beta) 就是 HR——HR = 1.5 意味着”面向的瞬时风险是参照的 1.5 倍”。

点击展开:比例风险假设的检验

Cox 回归的前提是 HR 不随时间变化。检验方法:

  1. Schoenfeld 残差图:y 轴为残差,x 轴为时间,拟合线应为水平
  2. cox.zph() 检验:p>0.05p > 0.05 说明假设成立
  3. 若假设不成立:考虑分层 Cox 模型或加入时间交互项

护理研究中常见的违反情况:干预效应随时间衰减(早期效果大,后期减弱),此时可用时间依赖 Cox 回归或 landmark 分析。

5. R 代码(复制即可跑)

library(survival)
library(survminer)

# 模拟护理预后数据
set.seed(2026)
n <- 300
df <- data.frame(
  id      = 1:n,
  age     = rnorm(n, 70, 10),                             # 年龄
  frail   = sample(0:1, n, replace = TRUE, prob = c(0.6, 0.4)), # 衰弱 0/1
  time    = rexp(n, rate = 0.02),                         # 随访时间
  event   = rbinom(n, 1, 0.3)                             # 事件 0/1
)

# Kaplan-Meier 曲线(按衰弱分组)
fit_km <- survfit(Surv(time, event) ~ frail, data = df)
ggsurvplot(fit_km, data = df, pval = TRUE,
           risk.table = TRUE, palette = c("#3B7A9E", "#C15F3C"),
           xlab = "随访时间(月)", ylab = "生存概率")

# Cox 回归
fit_cox <- coxph(Surv(time, event) ~ age + frail, data = df)
summary(fit_cox)
cox.zph(fit_cox)                                           # ⬅ 检验比例风险假设

6. 结果怎么读

项目值(示例)含义
KM 中位生存干预组 48 月 vs 对照组 32 月干预组的事件发生时间中位数延长了 16 月
log-rank pp0.0030.003两条 KM 曲线显著不同
年龄 HR1.031.03^{**}年龄每增 1 岁,事件风险增 3%
衰弱 HR2.152.15^{***}衰弱患者的事件风险是非衰弱者的 2.15 倍

p<0.01,p<0.001^{**} p < 0.01, ^{***} p < 0.001

7. 论文里怎么写

中文: 采用 Kaplan-Meier 法和 Cox 比例风险回归分析衰弱对老年患者首次跌倒时间的影响。log-rank 检验显示衰弱组的中位无跌倒时间显著短于非衰弱组(28 月 vs 52 月,p=0.003p = 0.003)。多因素 Cox 回归显示,衰弱是首次跌倒的独立预测因素(HR = 2.15, 95% CI [1.52, 3.04], p<0.001p < 0.001),年龄增加也显著提升了跌倒风险(HR = 1.03, 95% CI [1.01, 1.05], p=0.002p = 0.002)。

English: Kaplan-Meier analysis and Cox proportional hazards regression were used to examine the effect of frailty on time to first fall in older adults. The log-rank test revealed that the median fall-free time was significantly shorter in the frail group compared to the non-frail group (28 months vs 52 months, p=0.003p = 0.003). Multivariable Cox regression identified frailty as an independent predictor of first fall (HR = 2.15, 95% CI [1.52, 3.04], p<0.001p < 0.001), and older age was also associated with increased fall risk (HR = 1.03, 95% CI [1.01, 1.05], p=0.002p = 0.002).

8. 三个最常见的坑

  1. 删失处理不当。 “患者失访了”和”患者到研究结束都没发生事件”都是删失,但它们的含义不同——前者可能是非信息删失,后者是行政删失。在论文中要明确报告删失率和删失原因。
  2. 忽略比例风险假设。 如果干预的效应在短期内很强但随着时间衰减,Cox 回归的固定 HR 会低估或误估效应——必须做 cox.zph() 检验。
  3. 只看 KM 曲线,不做多因素分析。 KM 曲线是单因素比较,不能控制混杂——把”衰弱组生存差”归因于衰弱本身,但衰弱组可能年龄更大、合并症更多。