Calculates league table of effects between treatments in MBNMA and/or NMA models

get.relative(
  lower.diag,
  upper.diag = lower.diag,
  treatments = list(),
  lower.direction = "colvrow",
  upper.direction = "rowvcol",
  regress.vals = NULL,
  eform = FALSE,
  lim = "cred"
)

Arguments

lower.diag

An S3 object either of class "mbnma" generated by running a dose-response MBNMA model (using mbnma.run()), or of class "nma" generated by running an NMA model (using nma.run()). Indicates that this model should be used to estimate treatment effects in the lower-left diagonal of the league table.

upper.diag

Same as for lower.diag, but indicates that this model should be used to estimate treatment effects in the upper-right diagonal of the league table.

treatments

A list whose elements each represent different treatments. Treatment is defined as a combination of agent and dose. Only agents specified in lower.diag and upper.diag can be included. Each element in treatments is named corresponding to the agent and contains a numeric vector of doses. Relative effects will be calculated between all treatments specified in treatments. If treatments is left empty then the set of treatments in the network on which lower.diag is estimated will be used as the default.

lower.direction

Whether treatment effects should be presented as the column versus the row treatment for each cell in the lower-left diagonal of the league table ("colvrow") or as the row versus the column treatment ("rowvcol").

upper.direction

Same as for upper.direction but for results shown in the upper-right diagonal of the league table.

regress.vals

A named numeric vector of effect modifier values at which relative effects should be estimated. Named elements must match variable names specified in regression design matrix (mbnma$model.arg$regress.mat), corresponding to variables in regress within the MBNMA model (or both MBNMA models if different models are used for upper.diag and lower.diag. Meta-regression is not currently possible for NMA models, so only unadjusted results will be shown for these (and a warning given if they are compared to adjusted MBNMA results).

eform

Whether outputted results should be presented in their exponential form (e.g. for models with log or logit link functions)

lim

Specifies calculation of either 95% credible intervals (lim="cred") or 95% prediction intervals (lim="pred").

Value

An array of length(treatments) x length(treatments) x nsims, where nsims

is the number of iterations monitored in lower.diag. The array contains the individual MCMC values for each relative effect calculated between all treatments on the link scale specified in the lower.diag and upper.diag models.

Examples

# \donttest{

# Using the osteoarthritis data
network <- mbnma.network(osteopain)
#> Values for `agent` with dose = 0 have been recoded to `Placebo`
#> agent is being recoded to enforce sequential numbering
#> Values for `class` with dose = 0 have been recoded to `Placebo`
#> class is being recoded to enforce sequential numbering

# Run an MBNMA model
expon <- mbnma.run(network, fun=dexp(), method="random")
#> `likelihood` not given by user - set to `normal` based on data provided
#> `link` not given by user - set to `identity` based on assigned value for `likelihood`
#> Compiling model graph
#>    Resolving undeclared variables
#>    Allocating nodes
#> Graph information:
#>    Observed stochastic nodes: 74
#>    Unobserved stochastic nodes: 83
#>    Total graph size: 1126
#> 
#> Initializing model
#> 

# Calculate relative effects for MBNMA between:
# Celebrex 100mg/d, Celebrex 200mg/d, Tramadol 100mg/d
rel.eff <- get.relative(lower.diag=expon,
  treatments=list("Celebrex"=c(100,200), "Tramadol"=100))

# Run an NMA model
nma <- nma.run(network, method="random")
#> Compiling model graph
#>    Resolving undeclared variables
#>    Allocating nodes
#> Graph information:
#>    Observed stochastic nodes: 74
#>    Unobserved stochastic nodes: 100
#>    Total graph size: 1077
#> 
#> Initializing model
#> 

# Compare results between MBNMA and NMA models
rel.eff <- get.relative(lower.diag=expon, upper.diag=nma,
  treatments=list("Celebrex"=c(100,200), "Tramadol"=100),
  upper.direction="colvrow")
# }