Skip to contents

Calculates ranking probabilities for AUC from a time-course MBNMA


  lower_better = FALSE,
  treats = NULL,
  level = "treatments",
  int.range = c(0, max(mbnma$network$data.ab$time)),
  n.iter = mbnma$BUGSoutput$n.sims,
  subdivisions = 100,



An S3 object of class "mbnma" generated by running a time-course MBNMA model


Indicates whether negative responses are better (lower_better=TRUE) or positive responses are better (lower_better=FALSE)


A character vector of treatment/class names (depending on the value of level). If left NULL`` then rankings will be calculated for all treatments/classes. Note that unlike rank.mbnma()` this argument cannot take a numeric vector.


Can take either "treatment" to make predictions for treatments, or "class" to make predictions for classes (in which case object must be a class effect model).


A numeric vector with two elements that indicates the range over which to calculate AUC. Takes the form c(lower bound, upper bound). If left as NULL (the default) then the range will be between zero and the maximum follow-up time in the dataset.


The number of iterations for which to calculate AUC (if "auc" is included in params). Must be a positive integer. Default is the value used in mbnma.


The number of subdivisions over which to integrate (see integrate)


Arguments to be sent to R2jags for synthesis of the network reference treatment effect (using ref.synth())


A named list whose elements include:

  • summary.rank A data frame containing mean, sd, and quantiles for the ranks of each treatment given in treats

  • prob.matrix A matrix of the proportions of MCMC results for which each treatment/class in treats ranked in which position for the given parameter

  • rank.matrix A matrix of the ranks of MCMC results for each treatment/class in treats for the given parameter.


"auc" can be specified in param to rank treatments based on Area Under the Curve (AUC). This accounts for the effect of multiple time-course parameters simultaneously on the treatment response, but will be impacted by the range of time over which AUC is calculated (int.range). This requires integration over int.range and can take some time to run (particularly) for spline functions as this uses the trapezoid method rather than adaptive quadrature). Note that "auc" can only be calculated at the treatment-level in class effect models.

As with other post-estimation functions, rank() should only be performed on models which have successfully converged. Note that rankings can be very sensitive to even small changes in treatment effects and therefore failure to converge in only one parameter may have substantial impact on rankings.