rbmiUtils
extends the functionality of rbmi
to support more streamlined workflows for multiple imputation in
clinical trials. It is designed to simplify key tasks such as analysis
execution, pooling, result tidying, and imputed data handling.
This package is under development and is not yet available on CRAN.
You can install the development version of rbmiUtils
from GitHub:
# install.packages("remotes")
::install_github("openpharma/rbmiUtils") remotes
This package requires the rbmi
package to be installed.
This example shows how to run a covariate-adjusted ANCOVA on imputed datasets using Bayesian multiple imputation:
library(dplyr)
library(rbmi)
library(rbmiUtils)
data("ADMI")
# Setup
<- 100
N_IMPUTATIONS <- 200
WARMUP <- 5
THIN
# Preprocessing
<- ADMI %>%
ADMI mutate(
TRT = factor(TRT, levels = c("Placebo", "Drug A")),
USUBJID = factor(USUBJID),
AVISIT = factor(AVISIT)
)
# Define analysis variables
<- set_vars(
vars subjid = "USUBJID",
visit = "AVISIT",
group = "TRT",
outcome = "CHG",
covariates = c("BASE", "STRATA", "REGION")
)
# Specify imputation method
<- rbmi::method_bayes(
method n_samples = N_IMPUTATIONS,
control = rbmi::control_bayes(
warmup = WARMUP,
thin = THIN
)
)
# Run analysis
<- analyse_mi_data(
ana_obj data = ADMI,
vars = vars,
method = method,
fun = ancova
)
# Pool results and tidy
<- pool(ana_obj)
pool_obj <- tidy_pool_obj(pool_obj)
tidy_df
# View results
print(tidy_df)
#> # A tibble: 6 × 10
#> parameter description visit parameter_type lsm_type est se lci
#> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>
#> 1 trt_Week 24 Treatment … Week… trt <NA> -2.17 0.182 -2.53
#> 2 lsm_ref_Week 24 Least Squa… Week… lsm ref 0.0782 0.131 -0.179
#> 3 lsm_alt_Week 24 Least Squa… Week… lsm alt -2.09 0.126 -2.34
#> 4 trt_Week 48 Treatment … Week… trt <NA> -3.81 0.256 -4.31
#> 5 lsm_ref_Week 48 Least Squa… Week… lsm ref 0.0481 0.185 -0.316
#> 6 lsm_alt_Week 48 Least Squa… Week… lsm alt -3.76 0.176 -4.11
#> # ℹ 2 more variables: uci <dbl>, pval <dbl>
The package includes two example datasets for demonstrating imputation and analysis:
ADEFF
: An example efficacy dataset for with missing
data.ADMI
: A large multiple imputation dataset with 100,000
rows and multiple visits, treatment arms, and stratification
variables.Use ?ADEFF
and ?ADMI
to view full dataset
documentation.
Key exported functions include:
analyse_mi_data()
: Applies an analysis function (e.g.,
ANCOVA) to all imputed datasets.tidy_pool_obj()
: Tidies and annotates pooled results
for reporting.get_imputed_data()
: Extracts long-format imputed
datasets with original subject IDs mapped.These utilities wrap standard rbmi
workflows for
improved reproducibility and interpretability.
This package is experimental and under active development. Feedback and contributions are welcome via GitHub issues or pull requests.