clusterSEs:glm上的bootstrapped SE,交互条件错误

时间:2017-01-12 13:14:32

标签: r bootstrapping glm

我正在使用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,我希望上面的代码可以工作。

1 个答案:

答案 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'))