clusterSEs:在带有交互项错误的 glm 上引导 SE
clusterSEs: bootstrapped SE on glm with interaction terms error
我是 运行 使用 glm()
的逻辑回归,想使用 clusterSEs
的 cluster.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'))
我是 运行 使用 glm()
的逻辑回归,想使用 clusterSEs
的 cluster.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'))