brm_prior_label {brms.mmrm} | R Documentation |
Label a prior with levels in the data.
Description
Label an informative prior for a parameter using a collection of levels in the data.
Usage
brm_prior_label(label = NULL, code, group, subgroup = NULL, time)
Arguments
label |
A |
code |
Character of length 1, Stan code for the prior. Could be
a string like |
group |
Value of length 1, level of the treatment group column
in the data to label the prior. The treatment group column
is the one you identified with the |
subgroup |
Value of length 1, level of the subgroup column
in the data to label the prior. The subgroup column
is the one you identified with the |
time |
Value of length 1, level of the discrete time column
in the data to label the prior. The discrete time column
is the one you identified with the |
Value
A tibble
with one row per model parameter and columns for the
Stan code, treatment group, subgroup, and discrete time point
of each parameter. You can supply this tibble
to the label
argument of brm_prior_archetype()
.
Prior labeling
Informative prior archetypes use a labeling scheme to assign priors to fixed effects. How it works:
1. First, assign the prior of each parameter a collection of labels from the data. This can be done manually or with successive calls to [brm_prior_label()]. 2. Supply the labeling scheme to [brm_prior_archetype()]. [brm_prior_archetype()] uses attributes of the archetype to map labeled priors to their rightful parameters in the model.
For informative prior archetypes, this process is much more convenient
and robust than manually calling brms::set_prior()
.
However, it requires an understanding of how the labels of the priors
map to parameters in the model. This mapping varies from archetype
to archetype, and it is documented in the help pages of
archetype-specific functions such as brm_archetype_successive_cells()
.
See Also
Other priors:
brm_prior_archetype()
,
brm_prior_simple()
,
brm_prior_template()
Examples
set.seed(0L)
data <- brm_simulate_outline(
n_group = 2,
n_patient = 100,
n_time = 3,
rate_dropout = 0,
rate_lapse = 0
) |>
dplyr::mutate(response = rnorm(n = dplyr::n())) |>
brm_simulate_continuous(names = c("biomarker1", "biomarker2")) |>
brm_simulate_categorical(
names = c("status1", "status2"),
levels = c("present", "absent")
)
archetype <- brm_archetype_successive_cells(data)
dplyr::distinct(data, group, time)
label <- NULL |>
brm_prior_label("normal(1, 1)", group = "group_1", time = "time_1") |>
brm_prior_label("normal(1, 2)", group = "group_1", time = "time_2") |>
brm_prior_label("normal(1, 3)", group = "group_1", time = "time_3") |>
brm_prior_label("normal(2, 1)", group = "group_2", time = "time_1") |>
brm_prior_label("normal(2, 2)", group = "group_2", time = "time_2") |>
brm_prior_label("normal(2, 3)", group = "group_2", time = "time_3")
label