MBNMAdose for dose-response Model-Based Network Meta-Analysis
MBNMAdose for dose-response Model-Based Network Meta-Analysis
MBNMAdose provides a collection of useful commands that allow users to run dose-response Model-Based Network Meta-Analyses (MBNMA).
package
Introduction
MBNMAdose allows meta-analysis of studies that compare multiple doses of different agents in a way that can account for the dose-response relationship.
Whilst making use of all the available evidence in a statistically robust and biologically plausible framework, this also can help connect networks at the agent level that may otherwise be disconnected at the dose/treatment level, and help improve precision of estimates \insertCite pedder2021MBNMAdose. The modelling framework is based on synthesising relative effects which avoids the necessity to adjust for baseline predictors, thereby making fewer assumptions than in typical Model-Based Meta-Analysis.
By modelling the dose-response, MBNMA avoids heterogeneity and inconsistency that can arise from "lumping" different doses together (a technique sometimes done in Network Meta-Analysis). All models and analyses are implemented in a Bayesian framework, following an extension of the standard NMA methodology presented by \insertCite lu2004;textualMBNMAdose and are run in \insertCite jags;textualMBNMAdose. For full details of dose-response MBNMA methodology see \insertCite mawdsley2016;textualMBNMAdose. Within this package we refer to a treatment as a specific dose or a specific agent .
Workflow
Functions within MBNMAdose follow a clear pattern of use:
Load your data into the correct format using mbnma.network()
Analyse your data using mbnma.run() with a wide range of dose-response functions
Examine model results using forest plots and treatment rankings
Check model fit and test for consistency using functions like mbnma.nodesplit()
Use your model to predict responses using predict()
At each of these stages there are a number of informative plots that can be generated to help understand the data and to make decisions regarding model fitting.
Examples
# Generate an "mbnma.network" object that stores data in the correct formatnetwork <- mbnma.network(triptans)# Generate a network plot at the dose/treatment levelplot(network, level="treatment")# Generate a network plot at the agent levelplot(network, level="agent", remove.loops=TRUE)# Perform "split" NMA to examine dose-response relationshipnma <- nma.run(network)plot(nma)# Analyse data using mbnma.run() with an Emax dose-response function# and common treatment effectsresult <- mbnma.run(network, fun=demax(), method="common")# Generate forest plots for model resultsplot(result)# Rank results and plot rankogramsranks <- rank(result)plot(ranks, params="emax")# Predict responsespred <- predict(result, E0=0.2)# Plot predicted response with "split" NMA results displayedplot(pred, overlay.split=TRUE)