brms.mmrm 1.1.2
- Center nuisance variables which interact baseline with time and/or the subgroup within the cell of the data they apply to, rather than across the whole dataset. Centering these columns globally broke the relationship between the fixed effects of interest and the marginal means (#139, @michael-lamm).
-
brm_transform_marginal()now prints an informative message (once per session) if a nuisance column of an informative prior archetype was recentered by means other thanbrm_recenter_nuisance(). Recentering shifts the reference level of the model, and it is the user’s responsibility to interpret the reference level and the resulting marginal means appropriately (#139, @michael-lamm). - Add
vignettes/map.Rmd, a new vignette on meta-analytic predictive priors for Bayesian MMRMs. - Update and rerun the SBC pipeline, using the modern
crew.clusterinterface, as well as CSV outputs instead offstto reduce dependencies.
brms.mmrm 1.1.1
CRAN release: 2024-10-02
- Use FEV data in usage vignette.
- Show how to visualize prior vs posterior in the usage vignette.
- Add a
centerargument tobrms_formula.default()and explain intercept parameter interpretation concerns (#128).
brms.mmrm 1.1.0
CRAN release: 2024-07-29
- Add
brm_marginal_grid(). - Show posterior samples of
sigmainbrm_marginal_draws()andbrm_marginal_summaries(). - Allow
outcome = "response"withreference_time = NULL. Sometimes raw response is analyzed but the data has no baseline time point. - Preserve factors in
brm_data()and encourage ordered factors for the time variable (#113). - Add
brm_data_chronologize()to ensure the correctness of the time variable. - Do not drop columns in
brm_data(). This helpsbrm_data_chronologize()operate correctly after calls tobrm_data(). - Add new elements
brms.mmrm_dataandbrms.mmrm_formulato thebrmsfitted model object returned bybrm_model(). - Take defaults
dataandformulafrom the above inbrm_marginal_draws(). - Set the default value of
effect_sizetoattr(formula, "brm_allow_effect_size"). - Remove defaults from some arguments to
brm_data()and document examples. - Deprecate the
roleargument ofbrm_data()in favor ofreference_time(#119). - Add a new
model_missing_outcomesinbrm_formula()to optionally impute missing values during model fitting as described at https://paulbuerkner.com/brms/articles/brms_missings.html (#121). - Add a new
imputedargument to accept amicemultiply imputed dataset (“mids”) inbrm_model()(#121). - Add a
summary()method forbrm_transform_marginal()objects. - Do not recheck the rank of the formula in
brm_transform_marginal(). - Support constrained longitudinal data analysis (cLDA) for informative prior archetypes
brm_archetype_cells(),brm_archetype_effects(),brm_archetype_successive_cells(), andbrm_archetype_successive_effects()(#125). We cannot support cLDA forbrm_archetype_average_cells()orbrm_archetype_average_effects()because then some parameters would no longer be averages of others.
brms.mmrm 1.0.1
CRAN release: 2024-06-25
- Handle outcome
NAs inget_draws_sigma(). - Improve
summary()messages for informative prior archetypes. - Rewrite the
archetypes.Rmdvignette using the FEV dataset from themmrmpackage. - Add
brm_prior_template().
brms.mmrm 1.0.0
CRAN release: 2024-06-04
New features
- Add informative prior archetypes (#96, #101).
- Add [brm_formula_sigma()] to allow more flexibility for modeling standard deviations as distributional parameters (#102). Due to the complexities of computing marginal means of standard deviations in rare scenarios, [brm_marginal_draws()] does not return effect size if [brm_formula_sigma()] uses baseline or covariates.
Guardrails to ensure the appropriateness of marginal mean estimation
- Require a new
formulaargument inbrm_marginal_draws(). - Change class name
"brm_data"to"brms_mmrm_data"to align with other class names. - Create a special
"brms_mmrm_formula"class to wrap around the model formula. The class ensures that formulas passed to the model were created bybrms_formula(), and the attributes store the user’s choice of fixed effects. - Create a special
"brms_mmrm_model"class for fitted model objects. The class ensures that fitted models were created bybrms_model(), and the attributes store the"brms_mmrm_formula"object in a way thatbrmsitself cannot modify. - Deprecate
use_subgroupinbrm_marginal_draws(). The subgroup is now always part of the reference grid when declared inbrm_data(). To marginalize over subgroup, declare it incovariatesinstead. - Prevent overplotting multiple subgroups in
brm_plot_compare(). - Update the subgroup vignette to reflect all the changes above.
Custom estimation of marginal means
- Implement a new
brm_transform_marginal()to transform model parameters to marginal means (#53). - Use
brm_transform_marginal()instead ofemmeansinbrm_marginal_draws()to derive posterior draws of marginal means based on posterior draws of model parameters (#53). - Explain the custom marginal mean calculation in a new
inference.Rmdvignette. - Rename
methods.Rmdtomodel.Rmdsinceinference.Rmdalso discusses methods.
Other improvements
- Extend
brm_formula()andbrm_marginal_draws()to optionally model homogeneous variances, as well as ARMA, AR, MA, and compound symmetry correlation structures. - Restrict
brm_model()to continuous families with identity links. - In
brm_prior_simple(), deprecate thecorrelationargument in favor of individual correlation-specific arguments such asunstructuredandcompound_symmetry. - Ensure model matrices are full rank (#99).
brms.mmrm 0.1.0
CRAN release: 2024-02-15
- Deprecate
brm_simulate()in favor ofbrm_simulate_simple()(#3). The latter has a more specific name to disambiguate it from other simulation functions, and its parameterization conforms to the one in the methods vignette. - Add new functions for nuanced simulations:
brm_simulate_outline(),brm_simulate_continuous(),brm_simulate_categorical()(#3). - In
brm_model(), remove rows with missing responses. These rows are automatically removed bybrmsanyway, and by handling by handling this inbrms.mmrm, we avoid a warning. - Add subgroup analysis functionality and validate the subgroup model with simulation-based calibration (#18).
- Zero-pad numeric indexes in simulated data so the levels sort as expected.
- In
brm_data(), deprecatelevel_controlin favor ofreference_group. - In
brm_data(), deprecatelevel_baselinein favor ofreference_time. - In
brm_formula(), deprecate argumentseffect_baseline,effect_group,effect_time,interaction_baseline, andinteraction_groupin favor ofbaseline,group,time,baseline_time, andgroup_time, respectively. - Propagate values in the
missingcolumn inbrm_data_change()such that a value in the change from baseline is labeled missing if either the baseline response is missing or the post-baseline response is missing. - Change the names in the output of
brm_marginal_draws()to be more internally consistent and fit better with the addition of subgroup-specific marginals (#18). - Allow
brm_plot_compare()andbrm_plot_draws()to select the x axis variable and faceting variables. - Allow
brm_plot_compare()to choose the primary comparison of interest (source of the data, discrete time, treatment group, or subgroup level).