如何在 R 中的 coxph 函数中分配偏移项,稍后可以在"mstate"包中使用?



我正在尝试在 r 中使用 MSTATE 软件包,我必须使用 coxph 函数使用 Strata 命令。这是示例代码:

library(mstate)
tmat <- trans.illdeath()
tg <- data.frame(stt=rep(0,6),sts=rep(0,6), illt=c(1,1,6,6,8,9),ills=c(1,0,1,1,0,1),
             dt=c(5,1,9,7,8,12),ds=c(1,1,1,1,1,1))
tg$patid <- factor(2:7,levels=1:8,labels=as.character(1:8))
tt <- matrix(c(rep(NA,6),tg$illt,tg$dt),6,3)
st <- matrix(c(rep(NA,6),tg$ills,tg$ds),6,3)
mslong<-msprep(time=tt,status=st,trans=tmat)
models <- coxph(Surv(Tstart, Tstop, status) ~ strata(trans), data=mslong, method='breslow')

我只想在过渡模型中分配一个偏移项= 3(即从疾病到死亡(,以便我可以通过更改偏移项来估计不同治疗效应的影响。现在,我可以通过

为所有阶层分配一个偏移术语
mslong$c1<-0
models<-coxph(Surv(Tstart, Tstop, status) ~ strata(trans)+offset(2*c1), data=mslong, method='breslow')

我的问题是如何分配一个偏移项,例如,在上述代码中,系数= 2仅用于过渡= 3或strata = 3?请注意,我计划从 MSTATE 软件包中运行以下代码。我真的很感谢您的任何帮助。

fit <- msfit(models, trans=tmat)
pt <- probtrans(fit, predt=0)

您可以从技术上进行以下操作:

# define c1 as an indicator for transition 3
mslong$c1<-ifelse(mslong$trans == 3, 1, 0)
model <-coxph(Surv(Tstart, Tstop, status) ~ strata(trans)+offset(2*c1), data=mslong, method='breslow')

但是,从统计学上讲,这是没有意义的。偏移将被过渡3的地层基线危害完全掩盖3。

原始型号:

> coxph(Surv(Tstart, Tstop, status) ~ strata(trans), data=mslong, method='breslow')
Call:  coxph(formula = Surv(Tstart, Tstop, status) ~ strata(trans), 
    data = mslong, method = "breslow")
Null model
  log likelihood= -7.742402 
  n= 16 

偏移模型:

> coxph(Surv(Tstart, Tstop, status) ~ strata(trans)+offset(2*c1), data=mslong, method='breslow')
Call:  coxph(formula = Surv(Tstart, Tstop, status) ~ strata(trans) + 
    offset(2 * c1), data = mslong, method = "breslow")
Null model
  log likelihood= -7.742402 
  n= 16 

相关内容

  • 没有找到相关文章

最新更新