R 中的事件发生时间分析,以探索生物标志物对事件风险的影响

Time to event analysis in R to explore the effect of a biomarker on an event risk

在 R 中,我分析事件发生时间数据以探索生物标志物对事件风险的影响,并根据性别进行调整。为此,我使用看起来像这个玩具数据集的数据:

> head(data)
  pt sex age_baseline t_event death  t_stop biomarker
1  1   M         24345    3632     0   3981      0.22
2  2   F         25951    1121     0   3693      0.14
3  3   F         26900      NA     0   4437      0.04
4  4   F         27521    4896     1   5420      0.35
5  5   F         25660      NA     0   4035      0.25

列说明:

为了清楚起见,一个人可能会经历事件 x,然后死于不相关的原因。

为此,我想使用 coxph() R 函数来计算 Cox 模型。

我想到了下面的代码:

coxph(
  Surv(time = age_baseline, time2 = t_stop, event = death) ~ t_event + sex, 
       data = data.coro)

这对我最初的研究问题有意义吗?如何包含 biomarker

此外,Cox 模型是否处理缺失数据(t_event 中的 NA)?

当您想使用 Cox PH 模型时,您的数据集应包含一个 event time 以及是否发生 event 或是否存在审查的信息:

data <- data.frame(pt = seq(1,5), sex = c("M",rep("F",4)), age_baseline = c(24345,25951,26900,27521,25660), 
                       t_event = c(3632,1121,NA,4896,NA), death = c(0,0,0,1,0), t_stop = c(3981,3693,4437,5420,4035), 
                       biomarker = c(0.22,0.14,0.04,0.35,0.25))


# If there is no event, the last follow-up is the censor date
data$t_event[which(is.na(data$t_event))] <- data$t_stop[which(is.na(data$t_event))]
# Adding an event description. If no event, that means the patient gets censored
data$event <- ifelse(is.na(data$t_event),0,1)

既然您同时拥有 event timeevent 信息(请注意,上面还处理了您的 NA),您可以使用这两个 sex 构建您的 Cox 模型和 biomarker 作为协变量:

coxph(Surv(t_event, event) ~ sex + biomarker, data = data)

这给出:

> coxph(Surv(t_event, event) ~ sex + biomarker, data = data)
Call:
coxph(formula = Surv(t_event, event) ~ sex + biomarker, data = data)

              coef exp(coef) se(coef)      z     p
sexM       1.38086   3.97831  1.44998  0.952 0.341
biomarker -3.34641   0.03521  4.48310 -0.746 0.455

Likelihood ratio test=1.32  on 2 df, p=0.5167
n= 5, number of events= 5