emmeans-brms-helpers {brms} | R Documentation |
Support Functions for emmeans
Description
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.
Usage
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,
...
)
Arguments
object |
An object of class |
data , trms , xlev , grid , vcov. |
Arguments required by emmeans. |
resp |
Optional names of response variables. If specified, predictions are performed only for the specified response variables. |
dpar |
Optional name of a predicted distributional parameter. If specified, expected predictions of this parameters are returned. |
nlpar |
Optional name of a predicted non-linear parameter. If specified, expected predictions of this parameters are returned. |
re_formula |
Optional formula containing group-level effects to be
considered in the prediction. If |
epred |
Logical. If |
... |
Additional arguments passed to emmeans. |
Details
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.
Examples
## Not run:
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")
## End(Not run)