контрастирует с нулевым надувом glmmTMB

Я бегу без надувания glmmTMBмодель. Я заинтересован в проведении попарных сравнений между разными уровнями факторов как для условной, так и для нулевой инфляции. Условную часть я легко могу сделать обычнымemmeansподходить. Я пытался использовать (относительно) недавно отчеканенныйglmmTMB:::emm_basis.glmmTMB, но не может понять некоторые аргументы, которые принимает функция, и не может найти примеры...

Вот игрушечный пример того, где я сейчас нахожусь. Я специально добавилpoly() компонент модели - моя полная модель имеет оба poly() а также ns(), поэтому нужно выяснить, как они здесь работают.

Итак, вот вопросы: 1) Есть ли у меня trmsаргумент предоставлен правильно? 2) Какиеxlev а также grid аргументы, что emm_basis.glmmTMB функция нуждается?

library(glmmTMB)

data(Salamanders)
mod <- glmmTMB(count ~ spp + mined + poly(cover, 2) + (1|site), zi=~spp + mined, Salamanders, 
   family=nbinom2)

tt <- y ~ spp + mined + poly(cover, 2)
tt <- delete.response(terms(tt))

glmmTMB:::emm_basis.glmmTMB(mod,  trms = tt)

Большое спасибо за любые мысли!

1 ответ

Решение

Функции emm_basis() а также recover_data()являются вспомогательными функциями для пакета emmeans с методами для многих различных классов моделей, включаяglmmTMB. Эти функции не предназначены для вызова пользователем - и именно поэтому они регистрируются как методы, а не экспортируются.

Скорее просто позвони emmeans()или другие функции в пакете emmeans, и эти методы будут использоваться по мере необходимости.

На случай, если glmmTMB объекты, есть необязательный аргумент component которые могут быть включены в emmeans()вызов. В вашем примере:

> emmeans(mod, ~spp, component = "cond")
 spp   emmean    SE  df lower.CL upper.CL
 GP     0.440 0.225 624 -0.00146    0.881
 PR    -0.382 0.483 624 -1.32983    0.566
 DM     0.596 0.203 624  0.19723    0.994
 EC-A   0.145 0.327 624 -0.49699    0.787
 EC-L   0.991 0.231 624  0.53814    1.445
 DES-L  1.009 0.188 624  0.64015    1.379
 DF     0.332 0.217 624 -0.09448    0.758

Results are averaged over the levels of: mined 
Results are given on the log (not the response) scale. 
Confidence level used: 0.95 

(На самом деле нам не нужно было включать component, потому что по умолчанию cond.) Эти результаты находятся в логарифмической шкале в результате nbinom2семейство, используемое при подгонке условной части модели. Вы можете увидеть эти результаты на шкале ответов, указавtype:

> emmeans(mod, ~spp, type = "response")
 spp   response    SE  df lower.CL upper.CL
 GP       1.553 0.349 624    0.999     2.41
 PR       0.682 0.329 624    0.265     1.76
 DM       1.814 0.368 624    1.218     2.70
 EC-A     1.156 0.378 624    0.608     2.20
 EC-L     2.695 0.622 624    1.713     4.24
 DES-L    2.744 0.516 624    1.897     3.97
 DF       1.394 0.303 624    0.910     2.13

Results are averaged over the levels of: mined 
Confidence level used: 0.95 
Intervals are back-transformed from the log scale

Вы можете увидеть нулевую надутую часть модели через compoenent = "zi":

> emmeans(mod, ~spp, component = "zi", type = "response")
 spp   response     SE  df lower.CL upper.CL
 GP       0.455 0.1064 624   0.2646    0.660
 PR       0.763 0.1406 624   0.4115    0.937
 DM       0.273 0.1128 624   0.1097    0.534
 EC-A     0.719 0.1020 624   0.4870    0.873
 EC-L     0.365 0.1085 624   0.1864    0.590
 DES-L    0.278 0.0989 624   0.1275    0.503
 DF       0.132 0.1150 624   0.0207    0.522

Results are averaged over the levels of: mined 
Confidence level used: 0.95 
Intervals are back-transformed from the logit scale

В настоящее время не представляется возможным оценить фактические средние ответы (1 - zi)*(cond mean); это полезно, но довольно беспорядочно, так как требует объединения двух компонентов.

Другие вопросы по тегам