Because there are numerous ways of specifying the diagonal and off-diagonal elements of an $OMEGA or $SIGMA block in a control stream, automatically parsing the structure of these blocks can be brittle and error prone. For this reason, indices are not automatically added to the output of the param_labels() function and are instead added with the apply_indices() function.

apply_indices(.label_df, .omega = NULL, .sigma = NULL)

block(.n)

Arguments

.label_df

A tibble like the output of param_labels(), containing columns parameter_names, label, unit, type

.omega

A logical vector indicating whether each Omega parameter is a diagonal. If NULL function assumes all are diagonal. Alternatively you can pass block(.n) or pass a custom vector if control stream has both block and non-block.

.sigma

A logical vector indicating whether each Sigma parameter is a diagonal. If NULL function assumes all are diagonal. Alternatively you can pass block(.n) or pass a custom vector if control stream has both block and non-block.

.n

The size of the block

Details

block() is a helper function for formatting blocks into .omega or .sigma logical vectors. It takes an integer and returns a logical vector indicating whether each element of an .n-sized block with diagonal or not.

For more details and examples of how to specify $OMEGA and $SIGMA block structure, see the "Parameter Labels" vignette: vignette("parameter-labels", package = "bbr")