нестандартные пользовательские контрасты - glmmTMB с поли () - PullRequest
0 голосов
/ 30 октября 2018

Мне нужно выяснить, как запустить набор пользовательских контрастов для модели glmmTMB с полиномиальным предиктором. Я последовал ответу , приведенному здесь , за разрешение glht работать с моделью glmmTMB, но у меня все еще не получается, по-видимому, в два этапа: 1) как определить контрасты для полиномиального предиктора? Мне нужно использовать подход list (), поскольку моя фактическая модель довольно сложна, и я определенно испорчу подход matrix 2) как только настроены контрасты - как мне запустить их специально для glmmTMB?

library(contrast)
library(glmmTMB)

set.seed(1)
df <- structure(list(x = 1:20, y = c(4L, 7L, 11L, 12L, 23L, 21L, 42L, 
56L, 70L, 80L, 95L, 120L, 152L, 187L, 224L, 280L, 326L, 374L, 
438L, 500L), z = structure(c(2L, 2L, 1L, 1L, 2L, 2L, 1L, 2L, 
1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 1L, 1L, 1L), .Label = c("a", 
"b"), class = "factor"), group = structure(c(1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L
), class = "factor", .Label = "1")), class = "data.frame", row.names = c(NA, 
-20L))

#just a toy example with a linear model and no poly()
m <- lm(y ~ x * z, data = df)
contrast(m, 
        a = list(x = 1, z = "a"),
        b = list(x = 10, z = "b"))

# a (big) simplification of what I'm after:
m1 <- glmmTMB(y ~ poly(x, 3) * z + (1|group), data = df, family = poisson)
contrast(m1, 
        a = list(x = 1, z = "a"),
        b = list(x = 10, z = "b"))

EDIT Одно дополнение - поскольку моя фактическая модель не имеет раздувания, как этот подход справляется с этим? Меня интересует только тестирование значений «ответа» (т. Е. Комбинированной нулевой инфляции и количества).

...