我是生存分析的新手,不确定我的数据格式是否正确。使用这个虚拟数据:
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 图看起来也完全不同。只要我有随时间变化的协变量,我就需要数据。
谁能告诉我哪里出错了?
谢谢。