Author: Enoch Kang, Chiehfeng Chen Wen-Hsuan Hou, Jin-Hua Chen, Yu-Chieh Chuang, & Edwin Chan
Date: 2024-04-01

# An overview on rankinma

#### Enoch Kang, Chiehfeng Chen Wen-Hsuan Hou, Jin-Hua Chen, Yu-Chieh Chuang, & Edwin Chan

#### April 01, 2024

## Brief overview

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)

## Feature

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.

- Probabilities: probabilities of every available treatment on each possible rank.
- SUCRA: the value of surface under the cumulative ranking curve using Bayesian approach.
- P-score: the value of SUCRA using frequentist approach.

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.

- Beading plot: a novel graphics for displaying global metrics of treatment ranking (i.e. SUCRA, P-score, and P-best) based on numeric line plot.
- Bar chart: a classic graphics for most metrics of treatment ranking (i.e. probabilities, SUCRA, and P-score), and rankinma supports two sub-type of bar chart in terms of side-by-side bar chart and cumulative bar chart.
- Line chart: a classic graphics for most metrics of treatment ranking (i.e. probabilities, SUCRA, and P-score), and rankinma supports two sub-type of line chart in terms of simple line chart (a line on a chart) and composite line chart (multiple lines on a chart).
- Heat plot: a new graphics for showing global metrics of treatment ranking (i.e. SUCRA and P-score) for each outcome, and rankinma supports to gather all heat plots of outcomes with interests on a plot.
- Spie chart: a new graphics proposed in 2020 for displaying multiple global metrics of treatment ranking (i.e. SUCRA and P-score) from outcomes with interests by each treatment, and rankinma supports to place all spie charts on a plot.

## Flow and functions

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.

#### For situation 1:

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()`.

#### For situation 2:

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()`.

## Usage and examples

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)

Figure 1. Composite line chart for probabilities of treatments on each rank.

If the users wish to visualize the information using stacked bar chart, the following syntax could be a reference.

    PlotBar(data = dataRankinma,
            accum = TRUE)

Figure 2. Accumulative bar chart for probabilities of treatments on each rank.

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)

Figure 3A. Beading plot for SUCRA on two outcomes

Illustrate beading plot sorted by P-score (with relative effects and equidistant by rank)

    PlotBeads(data = dataRankinma,
              scaleX = "Rank",
              txtValue = "Effects")

Figure 3A. Beading plot for SUCRA on two outcomes

Illustrate colorblind-friendly beading plot based on P-best

    PlotBeads(data = dataRankinma,
              lgcBlind = TRUE)

Figure 3C. Colorblind friendly beading plot for P-score on two outcomes

Illustrate spie plot based on P-score

    PlotSpie(data = dataRankinma)

Figure 3B. Spie plot for P-score on two outcomes

## Reference

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.