如何在泊松模型中添加协变量x时间交互项(relsurv程序包)

时间:2019-03-17 08:57:19

标签: r interaction dummy-variable

我试图在relsurv软件包中进行相对生存分析,特别是泊松回归。我想包括协变量x时间交互项,因为模型中的危险(或过度危险)不成比例。

library(relsurv)
dat <- rdata

#model without interaction
mod <- rsadd(Surv(time, cens)~sex+agegr+ratetable(age=age*365.241), data = dat, ratetable = slopop, 
             int = c(0,5,10,15), method = "glm.poi") 
summary(mod)

#test for proportional excess hazard
rs.br(mod) #all not significant

#cut time according to interval argument
dat$ytime <- dat$time/365.241
dat$fu <- cut(dat$ytime, c(0, 5, 10, 15), labels = 1:3, include.lowest = T) 

#dummy code for interaction
dat$intFe2 <- ifelse(dat$sex==2 & dat$fu==2, 1,0)
dat$intFe3 <- ifelse(dat$sex==2 & dat$fu==3, 1,0)

#model with interaction
mod2 <- rsadd(Surv(time, cens)~sex+agegr+intFe2+intFe3+ratetable(age=age*365.241), data = dat, 
              ratetable = slopop, int = c(0, 5, 10, 15), method = "glm.poi") 
summary(mod2) #interaction should not be significant since the result from rs.br() is not significant

在此示例中,交互作用不应该很明显。 由于性别和时间变量是因素或类别,因此为my reference。 这是我的参考资料:non-proportional(第15页)模型和relsurv

我还问过作者在她的包裹中该如何做,这是她的答复:

“通常,您可以包括协变量之间的交互,例如:

mod <- rsadd(Surv(time, cens) ~ sex * agegr,data = rdata, ratetable = slopop, int = 5, method = "glm.poi")
summary(mod)

协变量和时间之间的相互作用只能通过标准的数据转换技巧来实现:假设您有两年的随访时间,并且您对年龄和时间之间的相互作用感兴趣。您要做的是在变量年龄之外生成两个变量。第一个变量等于第一个子间隔的年龄(例如[0,1]),否则等于0;然后,第二个变量等于另一个子间隔上的年龄(在此示例中为(1,2]),否则为0。

然后将这两个变量包括在模型中(我们将它们分别命名为age_1和age_2),并通过它可以看到交互作用:

mod <- rsadd(Surv(time, cens) ~ age_1 + age_2, data = rdata, ratetable = slopop, int = 5, method = "glm.poi")
summary(mod)

您可以将其推广到任意数量的子间隔。”

任何人都知道或可以给我有关如何正确添加该术语的提示吗?

0 个答案:

没有答案