контрастирует с нулевым надувом 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); это полезно, но довольно беспорядочно, так как требует объединения двух компонентов.