knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(rankinma)
knitr::include_graphics("rankinma_logo.png")
Package rankinma supports users to easily obtain and visualize various metrics of treatment ranking from network meta-analysis no matter using frequentist or Bayesian approach. This package not only accepts manual-prepared data set of treatment ranking metrics from users, but also can help users to gather various treatment ranking metrics in network meta-analysis. Users can use functions in rankinma by calling the library with following syntax:
library(rankinma)
library(rankinma) library(netmeta)
rankinma allows users to visualize various treatment ranking metrics in network meta-analysis based either common-effect model or random-effects model. The current version includes three common metrics of treatment ranking.
Briefly, rankinma can be used for visualization of both detailed metrics of probabilities and global metrics (i.e. SUCRA and P-score). Besides, rankinma provides users multiple types of plots to illustrate aforementioned treatment ranking metrics, and current version consists of five types of plots with six sub-types.
Users can visualize treatment ranking after network meta-analysis in five steps, but have to check condition before using rankinma.
Situation 1: Users have data for network meta-analysis of a single outcome but do not get treatment ranking metrics yet.
Situation 2: Users have data for network meta-analysis of various outcomes but do not get treatment ranking metrics yet.
\
Step 1. Load data and do network meta-analysis.
Step 2. Get treatment ranking metrics from the network meta-analysis using function GetMetrics()
.
Step 3. Setup data in rankinma format using function SetMetrics()
.
Step 4. Visualization using function PlotBeads()
, PlotHeat()
, PlotBar()
, or PlotLine()
.
Step 1. Load data and do network meta-analysis.
Step 2. Get treatment ranking metrics from the network meta-analysis using function GetMetrics()
.
--- Repeat step 1 and 2 for each outcome, and keep output of them for the further steps. ---
Step 3. Combine treatment ranking metrics using function rbind()
in R base.
Step 4. Setup data in rankinma format using function SetMetrics()
.
Step 5. Visualization using function PlotBeads()
, PlotHeat()
, PlotBar()
, or PlotLine()
.
The following steps and syntax demonstrate how user can illustrate a summary of treatment ranking metrics on various outcomes from network meta-analysis.
Example 1 for illustrating line chart when users have data for network meta-analysis of a single outcome but do not get treatment ranking metrics yet.
STEP 1. Load data
library(rankinma) library(netmeta) data(Senn2013) nmaOutput <- netmeta(TE, seTE, treat1, treat2, studlab, data = Senn2013, sm = "SMD")
\
STEP 2. Get Probabilities
dataMetrics <- GetMetrics(nmaOutput, outcome = "HbA1c.random", prefer = "small", metrics = "Probabilities", model = "random", simt = 1000)
\
STEP 3. Set data for rankinma
dataRankinma <- SetMetrics(dataMetrics, tx = tx, outcome = outcome, metrics.name = "Probabilities")
\
STEP 4. Visualize the probabilities of treatments among possible ranks
If the users wish to visualize the information using line chart, the following syntax could be a reference.
PlotLine(data = dataRankinma, compo = TRUE)
data(Senn2013) nmaOutput <- netmeta(TE, seTE, treat1, treat2, studlab, data = Senn2013, sm = "SMD") dataMetrics <- GetMetrics(nmaOutput, outcome = "HbA1c.random", prefer = "small", metrics = "Probabilities", model = "random", simt = 1000) dataRankinma <- SetMetrics(dataMetrics, tx = tx, outcome = outcome, metrics.name = "Probabilities") PlotLine(data = dataRankinma, compo = TRUE)
\
If the users wish to visualize the information using stacked bar chart, the following syntax could be a reference.
PlotBar(data = dataRankinma, accum = TRUE)
data(Senn2013) nmaOutput <- netmeta(TE, seTE, treat1, treat2, studlab, data = Senn2013, sm = "SMD") dataMetrics <- GetMetrics(nmaOutput, outcome = "HbA1c.random", prefer = "small", metrics = "Probabilities", model = "random", simt = 1000) dataRankinma <- SetMetrics(dataMetrics, tx = tx, outcome = outcome, metrics.name = "Probabilities") PlotBar(data = dataRankinma, accum = TRUE)
\
Example 2 for illustrating beading plot when users have data for network meta-analysis of multiple outcomes but do not get treatment ranking metrics yet.
STEP 1. Load data
library(rankinma) library(netmeta) data(Senn2013) nmaOutput <- netmeta(TE, seTE, treat1, treat2, studlab, data = Senn2013, sm = "SMD")
\
STEP 2. Get global metrics
Due to several rank metrics in network meta-analysis, users have to decide which global metric would be used in the analysis; accordingly users choose argument for parameter metrics
in the function GetMetrics()
. The following syntax is for users who would like to obtain the Surface Under the Cumulative Ranking Curve (SUCRA).
Get SUCRA
nmaRandom <- GetMetrics(nmaOutput, outcome = "HbA1c.random", prefer = "small", metrics = "SUCRA", model = "random", simt = 1000) nmaCommon <- GetMetrics(nmaOutput, outcome = "HbA1c.common", prefer = "small", metrics = "SUCRA", model = "common", simt = 1000)
\
If users wish to obtain the P-score, they can utilize the following syntax.
Get P-score
nmaRandom <- GetMetrics(nmaOutput, outcome = "HbA1c.random", prefer = "small", metrics = "P-score", model = "random", simt = 1000) nmaCommon <- GetMetrics(nmaOutput, outcome = "HbA1c.common", prefer = "small", metrics = "P-score", model = "common", simt = 1000)
\
If users wish to obtain the P-best, they can assign the argument P-best
to the parameter metrics
in the function GetMetrics()
. The following syntax is for reference.
Get P-best
nmaRandom <- GetMetrics(nmaOutput, outcome = "HbA1c.random", prefer = "small", metrics = "P-best", model = "random", simt = 1000) nmaCommon <- GetMetrics(nmaOutput, outcome = "HbA1c.common", prefer = "small", metrics = "P-best", model = "common", simt = 1000)
\
STEP 3. Combine metrics from multiple outcomes
dataMetrics <- rbind(nmaRandom, nmaCommon)
\
STEP 4. Set data for rankinma
As mentioned above, users choose argument for parameter metrics
in the function GetMetrics()
according to which global metric would be used in analysis due to several rank metrics in network meta-analysis. The following syntax is for users who would like to use SUCRA.
\
Set data based on SUCRA
dataRankinma <- (dataMetrics, tx = tx, outcome = outcome, metrics = SUCRA, metrics.name = "SUCRA")
\
Set data based on P-score
dataRankinma <- (dataMetrics, tx = tx, outcome = outcome, metrics = P.score, metrics.name = "P-score")
\
Set data based on P-best
dataRankinma <- (dataMetrics, tx = tx, outcome = outcome, metrics = P.best, metrics.name = "P-best")
\
STEP 5. Visualize global ranking metrics
Illustrate beading plot based on SUCRA (without relative effect)
PlotBeads(data = dataRankinma)
data(Senn2013) nmaOutput <- netmeta(TE, seTE, treat1, treat2, studlab, data = Senn2013, sm = "SMD") nmaRandom <- GetMetrics(nmaOutput, outcome = "HbA1c.random", prefer = "small", metrics = "SUCRA", model = "random", simt = 1000) nmaCommon <- GetMetrics(nmaOutput, outcome = "HbA1c.common", prefer = "small", metrics = "SUCRA", model = "common", simt = 1000) dataMetrics <- rbind(nmaRandom, nmaCommon) dataRankinma <- SetMetrics(dataMetrics, tx = tx, outcome = outcome, metrics = SUCRA, metrics.name = "SUCRA") PlotBeads(data = dataRankinma)
\
Illustrate beading plot sorted by P-score (with relative effects and equidistant by rank)
PlotBeads(data = dataRankinma, scaleX = "Rank", txtValue = "Effects")
data(Senn2013) nmaOutput <- netmeta(TE, seTE, treat1, treat2, studlab, data = Senn2013, sm = "SMD") nmaRandom <- GetMetrics(nmaOutput, outcome = "HbA1c.random", prefer = "small", metrics = "P-score", model = "random", simt = 1000) nmaCommon <- GetMetrics(nmaOutput, outcome = "HbA1c.common", prefer = "small", metrics = "P-score", model = "common", simt = 1000) dataMetrics <- rbind(nmaRandom, nmaCommon) dataRankinma <- SetMetrics(dataMetrics, tx = tx, outcome = outcome, metrics = P.score, metrics.name = "P-score") PlotBeads(data = dataRankinma, scaleX = "Rank", txtValue = "Effects")
\
Illustrate colorblind-friendly beading plot based on P-best
PlotBeads(data = dataRankinma, lgcBlind = TRUE)
data(Senn2013) nmaOutput <- netmeta(TE, seTE, treat1, treat2, studlab, data = Senn2013, sm = "SMD") nmaRandom <- GetMetrics(nmaOutput, outcome = "HbA1c.random", prefer = "small", metrics = "P-best", model = "random", simt = 1000) nmaCommon <- GetMetrics(nmaOutput, outcome = "HbA1c.common", prefer = "small", metrics = "P-best", model = "common", simt = 1000) dataMetrics <- rbind(nmaRandom, nmaCommon) dataRankinma <- SetMetrics(dataMetrics, tx = tx, outcome = outcome, metrics = P.best, metrics.name = "P-best") PlotBeads(data = dataRankinma, lgcBlind = TRUE)
\
Illustrate spie plot based on P-score
PlotSpie(data = dataRankinma)
data(Senn2013) nmaOutput <- netmeta(TE, seTE, treat1, treat2, studlab, data = Senn2013, sm = "SMD") nmaRandom <- GetMetrics(nmaOutput, outcome = "HbA1c.random", prefer = "small", metrics = "P-score", model = "random", simt = 1000) nmaCommon <- GetMetrics(nmaOutput, outcome = "HbA1c.common", prefer = "small", metrics = "P-score", model = "common", simt = 1000) dataMetrics <- rbind(nmaRandom, nmaCommon) dataRankinma <- SetMetrics(dataMetrics, tx = tx, outcome = outcome, metrics = P.score, metrics.name = "P-score") PlotSpie(data = dataRankinma)
Salanti, G., Ades, A. E., & Ioannidis, J. P. (2011). Graphical methods and numerical summaries for presenting results from multiple-treatment meta-analysis: an overview and tutorial. Journal of clinical epidemiology, 64(2), 163-171.
Chaimani, A., Higgins, J. P., Mavridis, D., Spyridonos, P., & Salanti, G. (2013). Graphical tools for network meta-analysis in STATA. PloS one, 8(10), e76654.
Van Valkenhoef, G., Tervonen, T., Zwinkels, T., De Brock, B., & Hillege, H. (2013). ADDIS: a decision support system for evidence-based medicine. Decision Support Systems, 55(2), 459-475.
Rücker, G., & Schwarzer, G. (2015). Ranking treatments in frequentist network meta-analysis works without resampling methods. BMC medical research methodology, 15(1), 1-9.
Daly, C. H., Mbuagbaw, L., Thabane, L., Straus, S. E., & Hamid, J. S. (2020). Spie charts for quantifying treatment effectiveness and safety in multiple outcome network meta-analysis: a proof-of-concept study. BMC Medical Research Methodology, 20, 1-13.
Balduzzi, S., Rücker, G., Nikolakopoulou, A., Papakonstantinou, T., Salanti, G., Efthimiou, O., & Schwarzer, G. (2023). netmeta: An R package for network meta-analysis using frequentist methods. Journal of Statistical Software, 106, 1-40.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.