我使用的R代码是:
dat<-data.frame(p1=c(0,1,1,0,0), GAMMA.1=c(1,2,3,4,3), VAR1=c(2,2,1,3,4), GAMMA.2=c(1,1,3,4,1))
form <- p1 ~ GAMMA.1:VAR1 + GAMMA.2:VAR1
mod <- glm(formula=form, data=dat, family=binomial)
(coef <- coefficients(mod))
# (Intercept) GAMMA.1:VAR1 VAR1:GAMMA.2
# 1.7974974 -0.2563667 -0.2181079
我们可以看到,交互作用的GAMMA.2:VAR1
的coef
名称与form
中的顺序不同(我们有VAR1:GAMMA.2
代替)。由于多种原因,我需要输出内容。
# (Intercept) GAMMA.1:VAR1 GAMMA.2:VAR1
# 1.7974974 -0.2563667 -0.2181079
在不改变系数名称的情况下进行翻译。具体来说,我希望系数的名称与form
对象中使用的名称相同(不像上面的代码一样切换)。我能告诉glm()
不要交换交互的名称吗?
stats:::C_termsform
(参见model.c,第970行及以上)。 - jay.sf