brms (version 1.10.2)

get_prior: Overview on Priors for brms Models


Get information on all parameters (and parameter classes) for which priors may be specified including default priors.


get_prior(formula, data, family = gaussian(), autocor = NULL,
  nonlinear = NULL, threshold = c("flexible", "equidistant"),
  internal = FALSE)



An object of class formula or brmsformula (or one that can be coerced to that classes): A symbolic description of the model to be fitted. The details of model specification are explained in brmsformula.


An object of class data.frame (or one that can be coerced to that class) containing data of all variables used in the model.


A description of the response distribution and link function to be used in the model. This can be a family function, a call to a family function or a character string naming the family. Every family function has a link argument allowing to specify the link function to be applied on the response variable. If not specified, default links are used. For details of supported families see brmsfamily. By default, a linear gaussian model is applied.


An optional cor_brms object describing the correlation structure within the response variable (i.e., the 'autocorrelation'). See the documentation of cor_brms for a description of the available correlation structures. Defaults to NULL, corresponding to no correlations.


(Deprecated) An optional list of formulas, specifying linear models for non-linear parameters. If NULL (the default) formula is treated as an ordinary formula. If not NULL, formula is treated as a non-linear model and nonlinear should contain a formula for each non-linear parameter, which has the parameter on the left hand side and its linear predictor on the right hand side. Alternatively, it can be a single formula with all non-linear parameters on the left hand side (separated by a +) and a common linear predictor on the right hand side. As of brms 1.4.0, we recommend specifying non-linear parameters directly within formula.


(Deprecated) A character string indicating the type of thresholds (i.e. intercepts) used in an ordinal model. "flexible" provides the standard unstructured thresholds and "equidistant" restricts the distance between consecutive thresholds to the same value. As of brms 1.8.0, we recommend specifying threshold directly within the ordinal family functions.


A flag indicating if the names of additional internal parameters should be displayed. Setting priors on these parameters is not recommended


A data.frame with columns prior, class, coef, and group and several rows, each providing information on a parameter (or parameter class) on which priors can be specified. The prior column is empty except for internal default priors.

See Also



Run this code
## get all parameters and parameters classes to define priors on
(prior <- get_prior(count ~ log_Age_c + log_Base4_c * Trt_c
                    + (1|patient) + (1|visit),
                    data = epilepsy, family = poisson()))   
## define a prior on all population-level effects a once
prior$prior[1] <- "normal(0,10)"

## define a specific prior on the population-level effect of Trt_c
prior$prior[5] <- "student_t(10, 0, 5)"       

## verify that the priors indeed found their way into Stan's model code
make_stancode(count ~ log_Age_c + log_Base4_c * Trt_c 
              + (1|patient) + (1|visit),
              data = epilepsy, family = poisson(), 
              prior = prior)

# }

Run the code above in your browser using DataLab