Functions required for compatibility of brms with emmeans.
Users are not required to call these functions themselves. Instead,
they will be called automatically by the emmeans
function
of the emmeans package.
recover_data.brmsfit(
object,
data,
resp = NULL,
dpar = NULL,
nlpar = NULL,
re_formula = NA,
epred = FALSE,
...
)
emm_basis.brmsfit(
object,
trms,
xlev,
grid,
vcov.,
resp = NULL,
dpar = NULL,
nlpar = NULL,
re_formula = NA,
epred = FALSE,
...
)
An object of class brmsfit
.
Arguments required by emmeans.
Optional names of response variables. If specified, predictions are performed only for the specified response variables.
Optional name of a predicted distributional parameter. If specified, expected predictions of this parameters are returned.
Optional name of a predicted non-linear parameter. If specified, expected predictions of this parameters are returned.
Optional formula containing group-level effects to be
considered in the prediction. If NULL
, include all group-level
effects; if NA
(default), include no group-level effects.
Logical. If TRUE
compute predictions of
the posterior predictive distribution's mean
(see posterior_epred.brmsfit
) while ignoring
arguments dpar
and nlpar
. Defaults to FALSE
.
If you have specified a response transformation within the formula,
you need to set epred
to TRUE
for emmeans to
detect this transformation.
Additional arguments passed to emmeans.
In order to ensure compatibility of most brms models with
emmeans, predictions are not generated 'manually' via a design matrix
and coefficient vector, but rather via posterior_linpred.brmsfit
.
This appears to generally work well, but note that it produces an `.@linfct`
slot that contains the computed predictions as columns instead of the
coefficients.
if (FALSE) {
fit1 <- brm(time | cens(censored) ~ age * sex + disease + (1|patient),
data = kidney, family = lognormal())
summary(fit1)
# summarize via 'emmeans'
library(emmeans)
rg <- ref_grid(fit1)
em <- emmeans(rg, "disease")
summary(em, point.est = mean)
# obtain estimates for the posterior predictive distribution's mean
epred <- emmeans(fit1, "disease", epred = TRUE)
summary(epred, point.est = mean)
# model with transformed response variable
fit2 <- brm(log(mpg) ~ factor(cyl), data = mtcars)
summary(fit2)
# results will be on the log scale by default
emmeans(fit2, ~ cyl)
# log transform is detected and can be adjusted automatically
emmeans(fit2, ~ cyl, epred = TRUE, type = "response")
}