延迟进入生存模型:R与Stata差异

mec1mxoz  于 2023-05-04  发布在  其他
关注(0)|答案(1)|浏览(185)

我在Stata中有一些代码,我试图在R中重做。我正在研究延迟入组生存模型,我想将随访时间限制在5年内。在Stata中,这是非常容易的,可以如下所示:

stset end, fail(failure) id(ID) origin(start) enter(entry) exit(time 5)
stcox var1

然而,我在R中重现这个问题时遇到了麻烦。我做了一个玩具例子,将随访时间限制在1000天-设置如下:

library(survival); library(foreign); library(rstpm2)

data(brcancer)
brcancer$start <- 0
# Make delayed entry time
brcancer$entry <- brcancer$rectime / 2
# Write to dta file for Stata
write.dta(brcancer, "brcancer.dta")

好了,现在我们已经设置了一个在R和Stata中使用的相同数据集。以下是Stata位代码和模型结果:

use "brcancer.dta", clear
stset rectime, fail(censrec) origin(start) enter(entry) exit(time 1000)
stcox hormon

下面是R代码和结果:

# Limit follow-up to 1000 days
brcancer$limit <- ifelse(brcancer$rectime <1000, brcancer$rectime, 1000)
# Cox model 
mod1 <- coxph(Surv(time=entry, time2= limit, event = censrec) ~ hormon, data=brcancer, ties = "breslow")
summary(mod1)

正如你所看到的,R估计值和Stata估计值略有不同,我不知道为什么。我是否错误地设置了R模型来匹配Stata,或者是否有其他原因导致结果不同?

v8wbuo2f

v8wbuo2f1#

由于这些方法在记录了终止日期后发生的死亡事件后,在一个可用的数据集上匹配,因此我将我的评论的相关部分作为答案发布。
我还认为你应该改变任何死亡时间大于1000被认为是审查。(请注意,两组结果中的事件数量完全不同。

相关问题