等式:lmer 模型“下标越界”

问题描述 投票:0回答:2

我正在尝试使用等式包来绘制我的 lmer 模型。

c1<-lmer(sqrt(co22)~t.air+t.soil+tdr+ph+TC+TN+wtd+Fe+0+(1|treatment/site), data=data)

但是,当尝试提取方程时,我不断收到错误:

extract_eq(c1,wrap = TRUE, ital_vars = FALSE)

Error in `[<-`(`*tmp*`, v[1], v[2], value = greek_vcov) : 
  subscript out of bounds

但是,如果我将模型转换为没有随机效应的简单线性模型,效果很好:

c1<-lm(sqrt(co22)~t.air+t.soil+tdr+ph+TC+TN+wtd+Fe+0, data=data)

extract_eq(c1,wrap = TRUE, ital_vars = FALSE)

$$
\begin{aligned}
\operatorname{sqrt(co22)} &= \beta_{0}(\operatorname{t.air}) + \beta_{1}(\operatorname{t.soil}) + \beta_{2}(\operatorname{tdr}) + \beta_{3}(\operatorname{ph})\ + \\
&\quad \beta_{4}(\operatorname{TC}) + \beta_{5}(\operatorname{TN}) + \beta_{6}(\operatorname{wtd}) + \beta_{7}(\operatorname{Fe})\ + \\
&\quad \epsilon
\end{aligned}
$$

关于如何解决“下标越界”错误有什么建议吗?

r equation lme4
2个回答
1
投票

我是该软件包的开发人员。它应该适用于

lme4::lmer()
方程。这里的问题是降低截距但使其在较高级别随机变化。请参阅this问题了解更多详细信息。

如果您对方程式如何呈现有任何建议,我愿意制定修复方案。但目前,

equatiomatic::extract_eq()
假设您拥有的任何随机效应也有相应的固定效应。


0
投票

我遇到了另一个问题,需要帮助。

eq_fac<-equatiomatic::extract_eq(get(eval(paste("M_FACTOR_", h, sep=""))), wrap=TRUE)
Error in vapply(names(pred_level), function(x) { : 

值的长度必须为1, 但 FUN(X[[1]]) 结果长度为 0

我确实建立了一个具有固定和随机效应和交互的混合模型。

lmer(LogT ~1+as.factor(Monthly)*gender + (as.factor(Monthly)|ID)

有什么想法吗?

© www.soinside.com 2019 - 2024. All rights reserved.