# "Network meta-analysis combining survival and count outcome data: A simple frequentist approach" # by Hisashi Noma and Kazushi Maruo # https://doi.org/10.1101/2025.01.23.25321051 # R example code for implementing the network meta-analysis # The "survNMA" package # CRAN webpage: https://doi.org/10.32614/CRAN.package.survNMA ### # Install the R package file from CRAN (only at the first time): install.packages("survNMA") ### library("survNMA") # load the "survNMA" package library("netmeta") # load the "netmeta" package ## # (1) Preparing a survival outcome data # In multi-arm trials, hazard ratio (HR) estimates and their standard error estimates are not reported for several contasts of comparative groups. # Using the approximation method of Woods (2010), they can be calculated, especially using "calcse" function. -0.154 - 0.055 # log HR estimate can be calculated simply as the difference of log HRs. calcse(0.096,0.092,1521,1534,1524) # the SE estimate can be calculated using "calcse" function. # (2) Calculating HR statistics from dichotomized outcome data data(woods2) woods2 # dichotomized dataset woods3 <- pairwiseHR(treat, studlab=study, event=d, n, data=woods2) # (3) Combining the HR statistics from survival and dichotomized outcome data data(woods1) woods1 woods4 <- combine2(woods1,woods3) woods4 # the combined dataset (this dataset object can be directly used in the analysis of "netmeta" package # (4) Network meta-analysis using "netmeta" package net1 <- netmeta(TE=TE, seTE=seTE, treat1=treat1, treat2=treat2, studlab=studlab, data=woods4, common=FALSE, ref="Placebo", sm="HR") net1 # network meta-analysis; synthesis analysis netpairwise(net1) # pairwise meta-analysis for all possible treatment pairs ran1 <- rankogram(net1,nsim = 5000) netrank(ran1) # calculating SUCRA netgraph(net1, seq = "optimal", plastic = FALSE, number.of.studies = TRUE) # network plot forest(net1) # forest plot netleague(net1, seq = netrank(net1), ci = TRUE) # league table netsplit(net1) # sidesplitting (analysis of inconsistency)