#r #equation #lme4
Вопрос:
Я пытаюсь использовать экваториальный пакет для построения своей модели 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)} amp;= beta_{0}(operatorname{t.air}) beta_{1}(operatorname{t.soil}) beta_{2}(operatorname{tdr}) beta_{3}(operatorname{ph}) \
amp;quad beta_{4}(operatorname{TC}) beta_{5}(operatorname{TN}) beta_{6}(operatorname{wtd}) beta_{7}(operatorname{Fe}) \
amp;quad epsilon
end{aligned}
$
Есть какие-либо предложения о том, как обойти «подстрочный индекс за пределами границ»-ошибку?
Комментарии:
1. Делая здесь небольшое предположение, что
extract_eq
это не было разработано для работы с моделями смешанных эффектов, и это ваша проблема.2. Но, по-видимому, это было исправлено: github.com/datalorax/equatiomatic/pull/104
Ответ №1:
Я являюсь разработчиком этого пакета. Он должен работать с lme4::lmer()
уравнениями. Проблема здесь в том, чтобы отбросить перехват, но чтобы он случайным образом менялся на более высоких уровнях. Дополнительные сведения см. в этом выпуске.
Если у вас есть предложения о том, как вы ожидаете, что уравнение будет отображаться, я готов разработать исправление. Но на данный момент equatiomatic::extract_eq()
предполагается, что любые случайные эффекты, которые у вас есть, также имеют соответствующие фиксированные эффекты.
Комментарии:
1. Блестяще, это действительно была проблема с перехватом! Спасибо за предложение