Function used to set up a basic grouping term in brms. The function does not evaluate its arguments -- it exists purely to help set up a model with grouping terms. gr is called implicitly inside the package and there is usually no need to call it directly.

gr(..., by = NULL, cor = TRUE, id = NA, cov = NULL, dist = "gaussian")

Arguments

...

One or more terms containing grouping factors.

by

An optional factor variable, specifying sub-populations of the groups. For each level of the by variable, a separate variance-covariance matrix will be fitted. Levels of the grouping factor must be nested in levels of the by variable.

cor

Logical. If TRUE (the default), group-level terms will be modelled as correlated.

id

Optional character string. All group-level terms across the model with the same id will be modeled as correlated (if cor is TRUE). See brmsformula for more details.

cov

An optional matrix which is proportional to the withon-group covariance matrix of the group-level effects. All levels of the grouping factor should appear as rownames of the corresponding matrix. This argument can be used, among others, to model pedigrees and phylogenetic effects. See vignette("brms_phylogenetics") for more details. By default, levels of the same grouping factor are modeled as independent of each other.

dist

Name of the distribution of the group-level effects. Currently "gaussian" is the only option.

See also

Examples

if (FALSE) {
# model using basic lme4-style formula
fit1 <- brm(count ~ Trt + (1|patient), data = epilepsy)
summary(fit1)

# equivalent model using 'gr' which is called anyway internally
fit2 <- brm(count ~ Trt + (1|gr(patient)), data = epilepsy)
summary(fit2)

# include Trt as a by variable
fit3 <- brm(count ~ Trt + (1|gr(patient, by = Trt)), data = epilepsy)
summary(fit3)
}