pavlakrotka/NCC
:package: NCC: Simulation and analysis of platform trials with non-concurrent controls
NCC: Simulation and analysis of platform trials with non-concurrent controls 
NCC package allows users to simulate platform trials and to compare
arms using non-concurrent control data.
Design overview
We consider a platform trial evaluating the efficacy of
arms compared to a shared control. We assume that treatment arms enter
the platform trial sequentially. In particular, we consider a trial
starting with at least one initial treatment arm, where a new arm is
added after every
recruited to the trial (with
We divide the duration of the trial into
are the time intervals bounded by times at which a treatment arm either
enters or leaves the platform.
The below figure illustrates the considered trial design.
Functions
This package contains the following functions:
Data generation
Main functions for data generation
datasim_bin()simulates data with binary outcomesdatasim_cont()simulates data with continuous outcomes
Auxiliary functions for data generation
get_ss_matrix()computes sample sizes per arm and periodlinear_trend()is the linear time trend function, used to generate
the trend for each patientsw_trend()is the step-wise time trend function, used generate the
trend for each patientinv_u_trend()is the inverted-u time trend function, used generate
the trend for each patientseasonal_trend()is the seasonal time trend function, used generate
the trend for each patient
Data analysis
Treatment-control comparisons for binary endpoints
Frequentist approaches
fixmodel_bin()performs analysis using a regression model adjusting
for periodsfixmodel_cal_bin()performs analysis using a regression model
adjusting for calendar timepoolmodel_bin()performs pooled analysissepmodel_bin()performs separate analysissepmodel_adj_bin()performs separate analysis adjusting for periods
Bayesian approaches
MAPprior_bin()performs analysis using the MAP prior approachtimemachine_bin()performs analysis using the Time Machine approach
Treatment-control comparisons for continuous endpoints
Frequentist approaches
fixmodel_cont()performs analysis using a regression model adjusting
for periodsfixmodel_cal_cont()performs analysis using a regression model
adjusting for calendar timegam_cont()performs analysis using generalized additive modelmixmodel_cont()performs analysis using a mixed model adjusting for
periods as a random factormixmodel_cal_cont()performs analysis using a mixed model adjusting
for calendar time as a random factormixmodel_AR1_cont()performs analysis using a mixed model adjusting
for periods as a random factor with AR1 correlation structuremixmodel_AR1_cal_cont()performs analysis using a mixed model
adjusting for calendar time as a random factor with AR1 correlation
structurepiecewise_cont()performs analysis using discontinuous piecewise
polynomials per periodpiecewise_cal_cont()performs analysis using discontinuous piecewise
polynomials per calendar timepoolmodel_cont()performs pooled analysissepmodel_cont()performs separate analysissepmodel_adj_cont()performs separate analysis adjusting for periodssplines_cont()performs analysis using regression splines with knots
placed according to periodssplines_cal_cont()performs analysis using regression splines with
knots placed according to calendar times
Bayesian approaches
MAPprior_cont()performs analysis using the MAP prior approachtimemachine_cont()performs analysis using the Time Machine approachpowerprior_cont()performs analysis using the power prior approach
Running simulations
all_models()is an auxiliary wrapper function to analyze given
dataset (treatment-control comparisons) with multiple modelssim_study()is a wrapper function to run a simulation study
(treatment-control comparisons) for desired scenariossim_study_par()is a wrapper function to run a simulation study
(treatment-control comparisons) for desired scenarios in parallel
Visualization
plot_trial()visualizes the progress of a simulated trial
For a more detailed description of the functions, see the vignettes in
the R-package website (https://pavlakrotka.github.io/NCC/).
Scheme of the package structure
The below figure illustrates the NCC package functions by
functionality.
Installation
Please note that prior to installing the NCC package, the
JAGS library needs to be installed
on your computer.
To install the stable version of the NCC package from
CRAN, please run the following
code:
install.packages("NCC")To install the latest development version of the NCC package from
GitHub, please run the following code:
# install.packages("devtools")
devtools::install_github("pavlakrotka/NCC", build_vignettes = TRUE)For further details regarding the package installation, see
https://pavlakrotka.github.io/NCC/articles/installation.html.
Documentation
Documentation of all functions as well as vignettes with further
description and examples can be found at the package website:
https://pavlakrotka.github.io/NCC/
References
[1] Krotka, P., Hees, K., et al. “NCC: An R-package for analysis and
simulation of platform trials with non-concurrent
controls.” SoftwareX 23 (2023): 101437.
[2] Bofill Roig, M., Krotka, P., et al. “On model-based time trend
adjustments in platform trials with non-concurrent
controls.”
BMC medical research methodology 22.1 (2022): 1-16.
[3] Lee, K. M., and Wason, J. “Including non-concurrent control
patients in the analysis of platform trials: is it worth
it?.”
BMC medical research methodology 20.1 (2020): 1-12.
[4] Saville, B. R., Berry, D. A., et al. “The Bayesian Time Machine:
Accounting for Temporal Drift in Multi-arm Platform
Trials.”
Clinical Trials 19.5 (2022): 490-501
Funding
EU-PEARL (EU Patient-cEntric clinicAl tRial
pLatforms) project has received funding from the Innovative Medicines
Initiative (IMI) 2 Joint Undertaking (JU) under grant agreement No
853966. This Joint Undertaking receives support from the European
Union’s Horizon 2020 research and innovation programme and EFPIA and
Children’s Tumor Foundation, Global Alliance for TB Drug Development
non-profit organisation, Spring works Therapeutics Inc. This publication
reflects the authors’ views. Neither IMI nor the European Union, EFPIA,
or any Associated Partners are responsible for any use that may be made
of the information contained herein.
