如何建立具有随机效应的逐步模型(lme4+;lmerTest?)

如何建立具有随机效应的逐步模型(lme4+;lmerTest?),r,lme4,mixed,lmertest,R,Lme4,Mixed,Lmertest,我试图执行一个带有随机效应的逐步模型,我可以得到一个BIC值 lmerTest软件包说它可以与lme4一起工作,但我只有从模型中删除一个自变量(这是一个有两个选项的因子(TM))才能使它工作 错误代码为: $中的错误问题是,当在随机效果选择阶段从模型中消除所有随机效果时,lmerTest::step.lmerModLmerTest会中断。它可能不应该(我认为该软件包的早期版本可能不应该),但解决它并不太困难。您可以指定不应简化随机效果模型(step(full.model,reduce.rando

我试图执行一个带有随机效应的逐步模型,我可以得到一个BIC值

lmerTest软件包说它可以与lme4一起工作,但我只有从模型中删除一个自变量(这是一个有两个选项的因子(TM))才能使它工作

错误代码为:


$中的错误问题是,当在随机效果选择阶段从模型中消除所有随机效果时,
lmerTest::step.lmerModLmerTest
会中断。它可能不应该(我认为该软件包的早期版本可能不应该),但解决它并不太困难。您可以指定不应简化随机效果模型(
step(full.model,reduce.random=FALSE)
),或者在遇到此错误时,丢弃模型的随机效果组件,然后对生成的线性模型使用
step()

fixmodel <- lm(formula(full.model,fixed.only=TRUE),
               data=eval(getCall(full.model)$data))
step(fixmodel)
step.lmemodlmertest
使用

step(object, ddf = c("Satterthwaite",
  "Kenward-Roger"), alpha.random = 0.1, alpha.fixed = 0.05,
  reduce.fixed = TRUE, reduce.random = TRUE, keep, ...)
特别是,
direction
参数不适用(
step.lmerModLmerTest
只执行反向消除);不是
k
(我相信
step.lmerModLmerTest
使用AIC,但我必须再次检查)

set.seed(1001)

dd我将首先尝试
lmerTest::lmer(…)
,而不是在第一步中尝试
lme4::lmer(…)
。有没有可能我们有一个?对安排。lmerTest也给出了第一条错误消息。我现在尝试的另一个带有类似错误建议类(full.model)的post-on-stack:>step.model我确实在测试用例中得到了这个错误。我想知道模型本身是否有奇异之处?太奇怪了!事实上,对于你的数据集,我没有同样的问题。。。我自己的数据是连续数据,除了TM和随机变量。当我移除TM时,模型确实可以工作!这很好,但是TM代表治疗,所以这是我感兴趣的一个因素。在不添加随机效应的情况下,它也出现在最终模型中的一些分析中……当我有机会时,我会看看我是否能找出哪里出了问题。我对一个非数值变量(集群变量)也有同样的问题。这是一个字符变量,使用lmer()进行模型估计似乎没有问题,但step()有问题。将其类更改为factor时,step()函数对我来说很好。希望能有帮助。
fixmodel <- lm(formula(full.model,fixed.only=TRUE),
               data=eval(getCall(full.model)$data))
step(fixmodel)
step(object, scope, scale = 0,
     direction = c("both", "backward", "forward"),
     trace = 1, keep = NULL, steps = 1000, k = 2, ...)
step(object, ddf = c("Satterthwaite",
  "Kenward-Roger"), alpha.random = 0.1, alpha.fixed = 0.05,
  reduce.fixed = TRUE, reduce.random = TRUE, keep, ...)
set.seed(1001)
dd <- data.frame(x1=rnorm(500),x2=rnorm(500),
                 x3=rnorm(500),f=factor(rep(1:50,each=10)))
library(lme4)
dd$y <- simulate(~x1+x2+x3+(1|f),
                 newdata=dd,
                 newparams=list(theta=1,beta=c(1,2,0,0),
                                sigma=1),
                 family=gaussian)[[1]]
library(lmerTest)
full.model <- lmer(y~x1+x2+x3+(1|f), data=dd)
step.model<- step(full.model)