Skip to contents

This package allows to design multi-arm multi-stage (MAMS) studies with asymptotically normal endpoints and known variance. It considers normal, binary, ordinal and time-to-event endpoints in which either the single best treatment or all promising treatments are continued at the interim analyses.

Details

Currently implemented functions are:

  • mams(): a function allowing to design multi-arm multi-stage studies with normal endpoints,

  • new.bounds(): a function allowing to update the lower and upper boundaries of a multi-arm multi-stage study, typically initally defined by mams(), based on observed sample sizes,

  • mams.sim(): a function allowing to simulate multi-arm multi-stage studies given chosen boundaries and sample size, and estimates power and expected sample size,

  • stepdown.mams(): a function allowing to find stopping boundaries for a 2- or 3-stage (step-down) multiple-comparisons-with-control test,

  • stepdown.update(): a function allowing to update the stopping boundaries of a multi-arm multi-stage study, typically initally defined by stepdown.mams(), at an interim analysis as well as allowing for unplanned treatment selection and/or sample-size reassessment,

  • ordinal.mams(): a function allowing to design multi-arm multi-stage studies with ordinal or binary endpoints,

  • tite.mams(): a function allowing to design multi-arm multi-stage studies with time-to-event endpoints.

We refer to Jaki et al (2019) for an overview of the package as well as to Magirr et al (2012) and Magirr et al (2014) for theoretical details.

Parallelisation

Since version 2.0.0, MAMS relies on the package future.apply for parallel computation. The package future.apply is part of the future parallelisation framework that requires users to define their parallelisation strategy by means of the function future::plan(). This function takes several options like, for example, sequential (default strategy corresponding to a computation without parallelisation), multicore (using separate forked R processes, available to unix/osx users) and multisession (using separate R sessions, available to all users). We refer to Bengtsson H. (2022) for an overview of the future framework.

Note that, for the functions of MAMS to be available to workers defined by future::plan(), MAMS has to be installed at a location available under .libPaths (by default, R installs packages in the directory corresponding to the first element of .libPaths).

Reproducibility

Results of the MAMS package for studies involving more than 2 stages are seed-dependent (as the Gaussian quadrature integration of the multivariate normal distribution relies on probabilities estimated by means of the randomised Quasi-Monte-Carlo procedure of Genz and Bretz in mvtnorm::pmvnorm()).

Results are reproducible if a seed is set before the evaluation of a function of the MAMS package (typically by means of the function set.seed).

When parallel=TRUE, the future package assigns independent streams of L'Ecuyer pseudo-random numbers to each parallelised task, allowing results to be reproducible when a seed is set, even when using a different parallelisation strategy and/or a different number of workers. When parallel=FALSE, the random number generation is handled by base R directly instead of by the future package, so that, if the number of stages is larger than 2, evaluations using the same seed will not lead to the same exact results with parallel=FALSE and parallel=TRUE.

Author

Thomas Jaki, Dominique-Laurent Couturier, Dominic Magirr and Philip Pallmann

Maintainer: Thomas Jaki thomas.jaki@pm.me.

References

Jaki T., Pallmann P. and Magirr D. (2019), The R Package MAMS for Designing Multi-Arm Multi-Stage Clinical Trials, Journal of Statistical Software, 88(4), 1-25. Link: doi:10.18637/jss.v088.i04

Magirr D., Jaki T. and Whitehead J. (2012), A generalized Dunnett test for multi-arm multi-stage clinical studies with treatment selection, Biometrika, 99(2), 494-501. Link: doi:10.1093/biomet/ass002

Magirr D., Stallard N. and Jaki T. (2014), Flexible sequential designs for multi-arm clinical trials, Statistics in Medicine, 33(19), 3269-3279. Link: doi:10.1002/sim.6183

Bengtsson H. (2022), A Unifying Framework for Parallel and Distributed Processing in R using Futures, to appear in The R Journal. Link: accepted version