Object-Oriented Implementation of CRM Designs

Implements a wide range of model-based dose escalation designs, ranging from classical and modern continual reassessment methods (CRMs) based on dose-limiting toxicity endpoints to dual-endpoint designs taking into account a biomarker/efficacy outcome. The focus is on Bayesian inference, making it very easy to setup a new design with its own JAGS code. However, it is also possible to implement 3+3 designs for comparison or models with non-Bayesian estimation. The whole package is written in a modular form in the S4 class system, making it very flexible for adaptation to new models, escalation or stopping rules.


  • The value of the 95% CI of the final estimates will be displayed in results when using 'stopTrial'

  • Bugfixes for dual endpoint designs:

    • Improved graphical display in plots for nextBest dose
    • Improved methodology to compute Gstar
    • Warnings are removed when using nextBest in simulations
    • Stopping rules can now also be freely combined using the and/or operators
      with the dual endpoint design stopping rules not using MCMC samples.
  • New model class "LogisticLogNormalMixture" has been added, for use with the new data class "DataMixture".

  • New stopping rule "StoppingHighestDose" has been added.

  • The "examine" method no longer stops when two consecutive cohorts start with the same dose. This is important e.g. for the two-parts study designs, where part 1 can end with the same dose as part 2 starts.

  • The contents of the "datanames" slot of new models are no longer restricted to a specific set, which was previously enforced by the validation function of the GeneralModel and AllModels classes.

  • Sampling from the prior can now be enabled/disabled by the user for the mcmc function, which is necessary for models where it might not be from the prior even though nObs == 0.

  • Bugfix: The results from the MinimalInformative function were not reproducible beforehand. Now a seed parameter can be supplied, which ensures reproducibility.

  • Bugfix: Compatibility of help file links with new ggplot2 package version.

  • Bugfix: In newer versions of grid the plotting of simulation objects did no longer work. This was fixed.
  • Bugfix: The MinimalInformative function previously produced too uninformative prior quantiles, which were not fulfilling the requirements in the function's documentation. With this bugfix, the correct (as per the Neuenschwander et al (2008) publication) prior quantiles are specified and then approximated with logistic (log) normal priors.
  • Bugfix: Previously, it could happen with NextBestNCRM rule, that higher doses lead to decreasing probability of overdosing, only because for some doses there was numerically probability 1 of having a DLT. With this bugfix, it was clarified in the rules documentation and fixed in the rule method, that the right limit of the overdose interval vector will be inclusive.
  • Added examine function to generate a table of hypothetical trial courses for model-based and rule-based DLT-endpoint designs

  • Made results from mcmc() (works with the usual set.seed in earlier user code) and simulate() (as previously already promised) reproducible. See help file for mcmc for more details. Additional improvements to reduce confusing warning messages / notes from mcmc() and higher-level functions.

  • Made simulate with parallel=TRUE work on r.roche.com (Linux server), using the same parallelization method as for laptops (Windows)

  • Passing an empty (zero length) vector as the doselimit parameter of the nextBest function is now considered as requesting a dose recommendation without a strict dose limit, and a corresponding warning is printed.

  • Introduced GeneralModel class, from which then the class Model for single agent dose escalation derives. Another branch will be the ComboLogistic model for multiple agent combinations (in a future version). Similarly introduced GeneralData class, from which the class Data for single agent derives, separately from that will be the subclass DataCombo (in a future version).

  • Fixed bug in mcmc function which led to error "all data elements must have as many rows as the sample size was" and slightly changed JAGS way of handling burnin / thinning (which should not have a user impact).

  • Reduced number of MCMC samples for dual-endpoint example in vignette to be able to plot the vignette

  • simulate function has been fixed (specification of arguments)

  • Dual-endpoint model-based design has been added.

  • 3+3 design simulation is now possible, see ?ThreePlusThreeDesign

  • Welcome message on attaching crmPack, i.e. when library("crmPack") is run

  • crmPackUpgrade() function for easy upgrade of crmPack to the latest version

  • Rule-based designs now can be specified with the class RuleDesign, while the model-based designs stay with the class Design. An even more special class is the DualDesign class, for dual-endpoint model-based designs. Corresponding classes GeneralSimulations, Simulations and DualSimulations capture the output of the trial simulations for rule-based, model-based and dual-endpoint designs.

  • The class Simulations-summary has been renamed to SimulationsSummary, similarly for the classes GeneralSimulationsSummary and DualSimulationsSummary.

  • All Stopping and CohortSize rules that are based on intervals (IncrementsRelative, IncrementsRelativeDLT, CohortSizeRange, CohortSizeDLT) now use a different intervals definition. Now the "intervals" slots only contain the left bounds of the intervals. Before, the last element needed to be infinity. See the vignette for examples.

  • StoppingMaxPatients class has been removed, as it was redundant with the class StoppingMinPatients. Please just use the StoppingMinPatients class instead.

  • Initialization methods have been replaced by dedicated initialization functions. Please now use these Class(...) functions instead of new("Class", ...) calls to obtain the correct objects. This change is also reflected in the vignette.

  • The extract function for extracting parameter samples from Samples objects has been removed (due to a name conflict with ggmcmc dependency packages). Please now use instead the "get" method for Samples objects (see the vignette for an example) to obtain data in the ggmcmc format.

  • crmPack now needs the package httr (it's now in the "Imports" field). Packages Rcpp and RcppArmadillo have been moved from "Depends" to "Suggests" packages. Currently we are not using them at all.

  • showLegend argument for model fit plotting functions, in order to show the legend or not.

no NEWS until this version

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.2.1 by Daniel Sabanes Bove, 5 months ago

Browse source code at https://github.com/cran/crmPack

Authors: Daniel Sabanes Bove <sabanesd@roche.com>, Wai Yin Yeung <winnie.yeung@roche.com>, Giuseppe Palermo <giuseppe.palermo@roche.com>, Thomas Jaki <jaki.thomas@gmail.com>

Documentation:   PDF Manual  

Task views: Design of Experiments (DoE) & Analysis of Experimental Data

GPL (>= 2) license

Imports methods, grid, gridExtra, GenSA, mvtnorm, parallel, BayesLogit, rjags, utils, tools, MASS

Depends on ggplot2, graphics

Suggests ggmcmc, R2WinBUGS, Rcpp, RcppArmadillo

See at CRAN