0

我是生存分析的新手,不确定我的数据格式是否正确。使用这个虚拟数据:

id <- c(rep("1", 10), rep("2", 10), rep("3", 10), rep("4", 10), rep("5", 10))
age <- c((15:24), (35:44), (45:54), (55:64), (40:49))
event <- c(rep("0", 10), 
       0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
       0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
       0, 0, 0, 2, 2, 2, 2, 2, 2, 2)
group <- c("a", "a", "a", "a", "a", "a", "a", "a", "a", "a", 
       "a", "a", "a", "a", "b", "b", "b", "b", "a", "a",
       "a", "a", "a", "a", "b", "b", "b", "a", "b", "b",
       "a", "a", "a", "a", "c", "c", "c", "c", "c", "c",
       "d", "d", "d", "d", "a", "a", "a", "a", "a", "a")
df <- data.table(id, age, event, group)
df$tstart <- integer(0)
df$tstop <- df$age
df[, tstart := shift(tstop), by = id]
df$tstart <- ifelse(is.na(df$tstart), 14, df$tstart)

v1 <- survfit(Surv(age, event == 1) ~ group, data = df)
v2 <- survfit(Surv(tstart, tstop, event == 1) ~ group, data = df) 

在事件中,1 = 我关注的事件,0 = 事件尚未发生,2 = 因其他原因丢失。

我正在查看“事件”的年龄是否因您所在的“组”而异。我已经看到了两种格式的代码:

coxph(Surv(age, event == 1) ~ group)

coxph(Surv(tstart, tstop, event == 1) ~ group) 

但根据我使用的代码,我得到不同的结果,而且 KM 图看起来也完全不同。只要我有随时间变化的协变量,我就需要数据。

谁能告诉我哪里出错了?

谢谢。

4

0 回答 0