0

我有 4 个感兴趣的区间:

  • 0 - 30 天
  • 30 天 - ½ 年
  • ½ - 2 年
  • 2 年 - 10 年

现在我正在像这样对我的数据集进行子集化:

# Set time period
time_period.first <-  30/365.25
time_period.intermediate <- .5
....

# TREOP = Time in years
data.first = all_data
# Remove already censored data
data.intermediate = subset(data.first, data.first$TREOP > time_period.first)

# Set all outside as censored
data.first$RREOP[data.first$TREOP > time_period.first] = 0
data.first$TREOP[data.first$TREOP > time_period.first] = time_period.first

data.intermediate$RREOP[data.intermediate$TREOP > time_period.second] = 0
data.intermediate$TREOP[data.intermediate$TREOP > time_period.second] = time_period.second
....

我正在使用“生存”包进行 cox 回归(我还使用“设计”包中的 cph 进行 C 统计计算)。

我的问题:

有没有更好的方法来执行这种左截断和右删失?

理想的情况是:

# TREOP - time in years
# RREOP - event
surv <- Surv(TREOP, RREOP, start=30/365.25, stop=.5)

我查看了帮助和时间,time2 & type 似乎确实可以处理截断,但我认为这是一个更复杂的设置,受试者在 22 天后进入研究,而不是将数据分成间隔。

编辑

我在生存包中找到了 survSplit() 函数,但是虽然它的描述似乎是正确的,但我不知道如何驯服它——这个例子并没有真正帮助我。有没有人有这方面的经验?

4

1 回答 1

0
  1. 我同意看起来简单明了的右审查。
  2. 我不确定你应该左截断。我会感觉更舒服,让较短的生存时间保持不变,只是增加审查上限。如果第 n 个时间段比第 (n-1) 个时间长得多 - 这并不重要,如果它不长于较短的生存时间,则不应截断。
于 2011-11-09T12:54:46.170 回答