clusterSEs:在带有交互项错误的 glm 上引导 SE

clusterSEs: bootstrapped SE on glm with interaction terms error

我是 运行 使用 glm() 的逻辑回归,想使用 clusterSEscluster.bs.glm() 计算标准误差。

第一段代码抛出错误:

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,我希望上面的代码仍然有效。

如果没有可重现的示例,很难对示例进行故障排除。但是,一种可能的解决方案是像 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'))