isLMM.glmmTMB | R Documentation |
see refit
and isLMM
for details
## S3 method for class 'glmmTMB'
isLMM(x, ...)
## S3 method for class 'glmmTMB'
refit(object, newresp, ...)
x |
a fitted glmmTMB object |
... |
additional arguments (for generic consistency; ignored) |
object |
a fitted glmmTMB object |
newresp |
a new response vector |
These methods are still somewhat experimental (check your results carefully!), but they should allow parametric bootstrapping. They work by copying and replacing the original response column in the data frame passed to glmmTMB
, so they will only work properly if (1) the data frame is still available in the environment and (2) the response variable is specified as a single symbol (e.g. proportion
or a two-column matrix constructed on the fly with cbind()
. Untested with binomial models where the response is specified as a factor.
if (requireNamespace("lme4")) {
## Not run:
fm1 <- glmmTMB(count~mined+(1|spp),
ziformula=~mined,
data=Salamanders,
family=nbinom1)
## single parametric bootstrap step: refit with data simulated from original model
fm1R <- refit(fm1, simulate(fm1)[[1]])
## the bootMer function from lme4 provides a wrapper for doing multiple refits
## with a specified summary function
b1 <- lme4::bootMer(fm1, FUN=function(x) fixef(x)$zi, nsim=20, .progress="txt")
if (requireNamespace("boot")) {
boot.ci(b1,type="perc")
}
## can run in parallel: may need to set up cluster explicitly,
## use clusterEvalQ() to load packages on workers
if (requireNamespace("parallel")) {
cl <- parallel::makeCluster(2)
parallel::clusterEvalQ(cl, library("lme4"))
parallel::clusterEvalQ(cl, library("glmmTMB"))
b2 <- lme4::bootMer(fm1, FUN = function(x) fixef(x)$cond,
nsim = 10, ncpus = 2, cl = cl, parallel = "snow")
}
## End(Not run)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.