predict.glmmTMB: prediction

View source: R/predict.R

predict.glmmTMBR Documentation





## S3 method for class 'glmmTMB'
  newdata = NULL,
  newparams = NULL, = FALSE, = FALSE,
  re.form = NULL, = FALSE,
  type = c("link", "response", "conditional", "zprob", "zlink", "disp"),
  zitype = NULL,
  na.action = na.pass,
  fast = NULL,
  debug = FALSE,



a glmmTMB object


new data for prediction


new parameters for prediction

return the standard errors of the predicted values?

return the covariance matrix of the predicted values?


NULL to specify individual-level predictions; ~0 or NA to specify population-level predictions (i.e., setting all random effects to zero)

allow previously unobserved levels in random-effects variables? see details.


Denoting mu as the mean of the conditional distribution and p as the zero-inflation probability, the possible choices are:


conditional mean on the scale of the link function, or equivalently the linear predictor of the conditional model


expected value; this is mu*(1-p) for zero-inflated models and mu otherwise


mean of the conditional response; mu for all models (i.e., synonymous with "response" in the absence of zero-inflation


the probability of a structural zero (returns 0 for non-zero-inflated models)


predicted zero-inflation probability on the scale of the logit link function (returns -Inf for non-zero-inflated models)


dispersion parameter however it is defined for that particular family as described in sigma.glmmTMB


deprecated: formerly used to specify type of zero-inflation probability. Now synonymous with type


how to handle missing values in newdata (see na.action); the default (na.pass) is to predict NA


predict without expanding memory (default is TRUE if newdata and newparams are NULL and population-level prediction is not being done)


(logical) return the TMBStruc object that will be used internally for debugging?


unused - for method compatibility


  • To compute population-level predictions for a given grouping variable (i.e., setting all random effects for that grouping variable to zero), set the grouping variable values to NA. Finer-scale control of conditioning (e.g. allowing variation among groups in intercepts but not slopes when predicting from a random-slopes model) is not currently possible.

  • Prediction of new random effect levels is possible as long as the model specification (fixed effects and parameters) is kept constant. However, to ensure intentional usage, a warning is triggered if (the default).

  • Prediction using "data-dependent bases" (variables whose scaling or transformation depends on the original data, e.g. poly, ns, or poly) should work properly; however, users are advised to check results extra-carefully when using such variables. Models with different versions of the same data-dependent basis type in different components (e.g. formula= y ~ poly(x,3), dispformula= ~poly(x,2)) will probably not produce correct predictions.


g0 <- glmmTMB(Reaction~Days+(Days|Subject),sleepstudy)
predict(g0, sleepstudy)
## Predict new Subject
nd <- sleepstudy[1,]
nd$Subject <- "new"
predict(g0, newdata=nd,
## population-level prediction
nd_pop <- data.frame(Days=unique(sleepstudy$Days),
predict(g0, newdata=nd_pop)

glmmTMB documentation built on Oct. 7, 2023, 5:07 p.m.