我正在使用glm()
运行逻辑回归,并希望使用cluster.bs.glm()
中的clusterSEs
来计算标准错误。
第一位代码抛出错误:
mod1 <- glm(lfp ~ age + I(age^2) + genstat + married +
isced + factor(syear) +
I(factor(syear):married),
data = subw,
family=binomial(link='logit'))
library(clusterSEs)
head(subw)
se <- cluster.bs.glm(mod=mod1, dat=subw, cluster= ~pid , boot.reps = 10)
Error in cl(dat, mod, clust)[ind.variables, 2] : subscript out of bounds
当我删除交互术语时,没有问题:
mod1 <- glm(lfp ~ age + I(age^2) + genstat + married +
isced + factor(syear),
data = subw,
family=binomial(link='logit'))
se <- cluster.bs.glm(mod=mod1, dat=subw, cluster= ~pid , boot.reps = 10)
是否有编程原因,为什么这不起作用?由于glm报告了交互项的所有系数,有些是NA,我希望上面的代码可以工作。
答案 0 :(得分:1)
如果没有可重复的示例,很难对示例进行故障排除。但是,一个可能的解决方案是在模型正文之外指定交互项,就像Esarey在他的Github示例中所做的那样。
your_data <- your_data %>% mutate(your_interaction = var_1 * var_2)
mod1 <- glm(lfp ~ age + I(age^2) + genstat + married +
isced + factor(syear) + your_interaction,
data = subw,
family=binomial(link='logit'))