mm {brms} | R Documentation |
Set up multi-membership grouping terms in brms
Description
Function to set up a multi-membership grouping term in brms. The function does not evaluate its arguments – it exists purely to help set up a model with grouping terms.
Usage
mm(
...,
weights = NULL,
scale = TRUE,
by = NULL,
cor = TRUE,
id = NA,
cov = NULL,
dist = "gaussian"
)
Arguments
... |
One or more terms containing grouping factors. |
weights |
A matrix specifying the weights of each member.
It should have as many columns as grouping terms specified in |
scale |
Logical; if |
by |
An optional factor matrix, specifying sub-populations of the
groups. It should have as many columns as grouping terms specified in
|
cor |
Logical. If |
id |
Optional character string. All group-level terms across the model
with the same |
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
|
dist |
Name of the distribution of the group-level effects.
Currently |
See Also
Examples
## Not run:
# simulate some data
dat <- data.frame(
y = rnorm(100), x1 = rnorm(100), x2 = rnorm(100),
g1 = sample(1:10, 100, TRUE), g2 = sample(1:10, 100, TRUE)
)
# multi-membership model with two members per group and equal weights
fit1 <- brm(y ~ x1 + (1|mm(g1, g2)), data = dat)
summary(fit1)
# weight the first member two times for than the second member
dat$w1 <- rep(2, 100)
dat$w2 <- rep(1, 100)
fit2 <- brm(y ~ x1 + (1|mm(g1, g2, weights = cbind(w1, w2))), data = dat)
summary(fit2)
# multi-membership model with level specific covariate values
dat$xc <- (dat$x1 + dat$x2) / 2
fit3 <- brm(y ~ xc + (1 + mmc(x1, x2) | mm(g1, g2)), data = dat)
summary(fit3)
## End(Not run)