【发布时间】:2020-05-04 23:50:25
【问题描述】:
我有一些数据是由间歇性访谈产生的,其中询问个人是否正在经历某种症状。上一次知道每个人没有有这种特殊症状的时间,表示为tstart。如果适用,观察到个体出现症状的时间是tstop。使用 R 中的 survival 包,使用 Surv 函数创建生存对象,指定这是区间删失数据。我想要生存函数的非参数最大似然估计。这可以使用survfit 函数来完成,该函数似乎将调用传递给内部函数survfitTurnbull。由此产生的置信区间非常宽。我无法弄清楚为什么会这样。
# A random sample of the data using dput()
structure(list(tstart = c(0.01, 38, 0.01, 0.01, 23, 26, 0.01,
19, 0.01, 0.01, 22, 6, 0.01, 14, 16, 0.01, 0.01, 0.01, 0.01,
21, 15, 0.01, 0.01, 13, 10, 0.01, 0.01, 19, 0.01, 0.01, 0.01,
0.01, 22, 17, 27, 14, 16, 0.01, 20, 27, 10, 0.01, 0.01, 16, 20,
7, 6, 15, 0.01, 0.01), tstop = c(4.01, NA, 5.01, 8.01, NA, NA,
5.01, NA, 3.01, 16.01, NA, 6.01, 8.01, NA, NA, 7.01, 16.01, 1.01,
10.01, NA, NA, 5.01, 8.01, NA, NA, 2.01, 3.01, NA, 7.01, 5.01,
2.01, 9.01, NA, NA, NA, NA, NA, 10.01, NA, NA, NA, 5.01, 10.01,
NA, NA, NA, 7.01, NA, 14.01, 4.01)), row.names = c(NA, -50L), class = "data.frame")
survObj <- with(temp_df, Surv(time = tstart, time2 = tstop, type = "interval2"))
survFit <- survfit(SurvObj ~ 1))
summary(survFit)
置信区间不会随时间变窄。使用整个数据集(它包含大约 10 倍的事件数)并没有更窄。我无法弄清楚出了什么问题。
【问题讨论】:
标签: r survival-analysis survival