【发布时间】:2021-10-04 08:39:34
【问题描述】:
我目前正在尝试使用 lme4 函数运行重复测量 anova。我的数据如下(显示前 6 个值,n=40):
| Core | Substrate | Treatment | O2 |
|---|---|---|---|
| 1 | M&S | C | -0.40 |
| 1 | S | C | -0.60 |
| 2 | M&S | C | -0.41 |
| 2 | S | C | -0.61 |
| 3 | M&S | D | -0.25 |
| 3 | S | D | -0.45 |
我想看看处理是否会对 O2 产生影响,以及这是否会因底物而异。我每个核心有 2 次测量,它们发生在不同的时间点,所以我想控制重复测量。为此,我使用了以下代码:
mixed.lmer1 <- lmer(O2 ~ Treatment*Substrate+(1|Core), data = data)
summary(mixed.lmer1)
然后我使用以下代码来测试是否有 sig。 Core 对模型的影响:
mixed.lmer2 <- lm(O2 ~ Treatment*Substrate, data = data)
summary(mixed.lmer2)
anova(mixed.lmer2,mixed.lmer1)
但是,当我运行第一个模型时,我收到以下警告:
Warning message:
In optwrap(optimizer, devfun, getStart(start, rho$pp), lower = rho$lower, :
convergence code -4 from nloptwrap
我只是想知道是否有人以前遇到过这种情况?我似乎无法在网上找到任何东西。我认为这是因为我过度拟合了数据,因为每个核心只有 2 个测量值。有没有办法解决这个问题?
谢谢!
【问题讨论】:
-
我以前也没有看过这条消息。我要做的第一件事是尝试使用不同的优化器来查看结果是否相似,同时避免任何警告。 :) 您可以通过在模型中添加例如
control = lmerControl(optimizer = "bobyqa")来做到这一点。有关所有优化器,请参见?lmerControl。