我希望围绕我的多级模型系数估计计算 95% 的置信区间。
对于具有单个分组变量的模型,我没有问题,但是当我添加一个额外的时,我遵循的引导方法( http://www.ats.ucla.edu/stat/r/dae/melogit.htm )基本上坏了分组变量。
我调查了 bootMer(lme4 新实现的部分),结果相同。
这是问题的一个例子:
---------------------------------------- 已编辑以包含可重现的示例 ---------------- ------------
对这个问题的有用评论和通过示例给出了答案 - 这不是添加第二个分组变量本身,而是导致问题的分组变量中的缺失。
对于遇到此问题的其他人来说,这是一个可行的示例。
为了说明起见,这是一个简单的功能...
FUN <- function(fit) {return(fixef(fit))}
示例数据(完整)
grouper1 <- as.factor(sample(letters[1:20], 1000, replace = TRUE))
grouper2 <- sample(letters[1:2], 1000, replace = TRUE)
DV<-rnorm(1000)
IV<-rnorm(1000)
example<-data.frame(grouper1, grouper2, DV, IV)
与这些数据一起工作正常
one_grouper<-lmer(DV ~ IV + (1 | grouper1), data=example)
> bootMer(one_grouper,FUN, nsim=1)
Call:
bootMer(x = one_grouper, FUN = FUN, nsim = 1)
Bootstrap Statistics :
original bias std. error
t1* 0.005286026 0.041665542 NA
t2* 0.009642498 -0.003707219 NA
>
> two_grouper<-lmer(DV ~ IV + (1 | grouper1) + (1 | grouper2), data=example)
>
> bootMer(one_grouper,FUN, nsim=1)
Call:
bootMer(x = one_grouper, FUN = FUN, nsim = 1)
Bootstrap Statistics :
original bias std. error
t1* 0.005286026 -0.03465914 NA
t2* 0.009642498 -0.01361108 NA
但是,当我们在分组变量中引入缺失时......
example$missinggroups <- with(example, ifelse(randommissing=="f", NA,grouper1))
> one_grouper<-lmer(DV ~ IV + (1 | missinggroups ), data=example)
>
> bootMer(one_grouper,FUN, nsim=1)
Call:
bootMer(x = one_grouper, FUN = FUN, nsim = 1)
Bootstrap Statistics :
WARNING: All values of t1* are NA
WARNING: All values of t2* are NA
Warning message:
In bootMer(one_grouper, FUN, nsim = 1) : some bootstrap runs failed (1/1)