我正在使用R中的glm包来估计相同的逻辑回归(但变量的顺序不同)。所有变量都是二进制的(一个因变量,一个协变量,一个交互项)。但是根据模型中变量的顺序,我会得到不同的结果。具体地说,只有在对标准误差进行聚类时,才在交互项中使用一个变量的标准误差的NA。我不知道为什么会这样。
这是我的代码:
mod1 <- glm(dv ~ cov + var1*var2,family binomial(link = "logit"),data = dat)
mod2 <- glm(dv ~ var1*var2 + cov,family = binomial(link = "logit"),data = dat)
stargazer(mod1,mod2)
产生(编辑输出,以便于阅读)
cov & 0.300 & 0.300 \\
& (1.128) & (1.128) \\
var1 & $-$0.008 & $-$0.008 \\
& (2,543.188) & (2,543.188) \\
var2 & 19.828 & 19.828 \\
& (1,902.767) & (1,902.767) \\
var1:var2 & $-$0.569 & $-$0.569 \\
& (2,543.188) & (2,543.188) \\
结果与上面相同,但是当我对标准错误进行聚类时,结果却不同:
stargazer(coeftest(mod1,vcov = cluster.vcov(mod1, dat$groupid)),coeftest(mod2,vcov = cluster.vcov(mod2, dat$groupid)))
产生:
cov & 0.300 & 0.300 \\
& (1.073) & (1.073) \\
var1 & $-$0.008 & $-$0.008 \\
& (0.036) & NA \\
var2 & 19.828$^{***}$ & 19.828$^{***}$ \\
& (0.183) & (0.376) \\
var1:var2 & $-$0.569 & $-$0.569 \\
& (0.469) & (0.434) \\
请注意,var1
的标准错误为NA。我不知道发生了什么事。任何帮助将不胜感激!