Экватоматическая: модель lmer «субскрипт за пределами границ»

#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. Блестяще, это действительно была проблема с перехватом! Спасибо за предложение