格式化生存分析数据 - 长格式数据的时间变量

时间:2018-04-30 16:12:00

标签: r survival-analysis cox-regression survival

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

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 =因其他原因而丢失。

我正在考虑&#34;事件的年龄&#34;取决于&#34; group&#34;你进去了。我看到代码格式化为:

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

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

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

任何人都可以告诉我哪里出错了吗?

感谢。

0 个答案:

没有答案
相关问题