Я новичок в анализе выживания и не уверен, правильно ли я форматирую свои данные.
Используя эти фиктивные данные:
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)
но я получаю разные результаты в зависимости от того, какой код я использую, и графики КМ также выглядят совершенно по-разному. Мне нужны данные настолько длинной формы, сколько у меня есть изменяющиеся во времени ковариаты.
Может кто-нибудь сказать мне, где я иду не так?
Спасибо.