create_dt <- function(x){
  DT::datatable(x,
                extensions = 'Buttons',
                options = list(dom = 'Blfrtip',
                               buttons = c('copy', 'csv', 'excel', 'pdf', 'print'),
                               lengthMenu = list(c(10,25,50,-1),
                                                 c(10,25,50,"All"))))
}
# Load Data
data <- read_xlsx("New Data Pedicle screw.xlsx") %>% 
  mutate(trt = fct_recode(trt, CT_Nav = "ct", FFG = "fluoro", RA = "robo"))
  

create_dt(data)
# Clean and Nest Data by Outcome

dat <- data %>% 
  mutate(
    names = rep(c("1" , "2"), times = 42)) %>% 
  pivot_wider(
    names_from = names, 
    values_from = c(trt, n, mean, sd, sex, age), 
    id_cols = c(1:3)) %>% 
  na.omit() %>% 
  group_by(outcome) %>% 
  nest()

create_dt(dat)
res <- dat %>% 
  mutate(
    
    # Calculate Mean Difference & Standard Error Between Treatment and Control groups in Each Study for Each Outcome
    pairwise = map(
      .x = data, 
      ~pairwise(
        treat= list(trt_1, trt_2), n = list(n_1, n_2), 
        mean= list(mean_1, mean_2), sd= list(sd_1, sd_2), 
        studlab = auth, data = .x, sm = "SMD", reference.group = "2")),
    
    # Perform a Random-Effects Network Meta-Analysis for each Outcome Using Mean Differences and Standard Errors from Pairwise Comparisons
    net = map(
      .x = pairwise, 
      ~netmeta(
        .x,
        random = TRUE, 
        common = FALSE, 
        reference.group = "FFG",
        sm = "SMD",
        details.chkmultiarm = TRUE,
        sep.trts = " vs. ")),
    
    # Effect Table
    effect.table = map(
      .x = net,
      ~netleague(.x,
                 bracket = "(", # use round brackets
                 digits=2)),
    
    # Show Results for Direct and Indirect Evidence
    split = map(
      .x = net,
      ~netsplit(.x)),
    
    # Calculate Total Inconsistency based on the full design-by-treatment interaction random-effects model
    incon = map(
      .x = net,
      ~decomp.design(.x))
    
   )
# Create Labels

# Treatment Order

long.labels <- c("CT-navigated", "Fluoroscopy-guided", "Robot-assisted")

# Outcome Order

outcome.labels1 <- c("Length of Stay (days)", 
                    "Operation Time (minutes)", 
                    "Oswestry Disability Index", 
                    "Visual Analog Scale: Back",
                    "Visual Analog Scale: Leg",
                    "Blood Loss (mL)")
outcome.labels2 <- c("Length of Stay", 
                    "Operation Time", 
                    "Oswestry Disability Index", 
                    "Visual Analog Scale: Back",
                    "Visual Analog Scale: Leg",
                    "Blood Loss")

Tables of Comparisons Between Treatments for All Outcomes

tab.list <- list()

for(i in 1:nrow(res)){
  
  res.tab <- res$split[[i]]$random 
  
  tab.list[[i]] <- res.tab %>% 
    mutate(across(where(is.numeric), round, 2)) %>% 
    mutate("95% CI" = paste(lower, upper, sep = " to "),
           Evidence = c("Direct", "Indirect", "Direct"),
           SMD = TE,
           SE = seTE,
           p.value = p) %>% 
    select(-c(statistic, lower, upper)) %>% 
    select(comparison, Evidence, SMD, SE, "95% CI", p.value)

}
## Warning: There was 1 warning in `mutate()`.
## ℹ In argument: `across(where(is.numeric), round, 2)`.
## Caused by warning:
## ! The `...` argument of `across()` is deprecated as of dplyr 1.1.0.
## Supply arguments directly to `.fns` through an anonymous function instead.
## 
##   # Previously
##   across(a:b, mean, na.rm = TRUE)
## 
##   # Now
##   across(a:b, \(x) mean(x, na.rm = TRUE))
names(tab.list) <- outcome.labels2

Length of Stay

Standardized Mean Difference
create_dt(tab.list[[1]])

Operation Time

create_dt(tab.list[[2]])

Oswestry Disability Index

create_dt(tab.list[[3]])

Visual Analog Scale: Back

create_dt(tab.list[[4]])

Visual Analog Scale: Leg

create_dt(tab.list[[5]])

Blood Loss

create_dt(tab.list[[6]])

Forest Plots for SMD’s

for(i in 1:nrow(res)){
  
  forest(res$net[[i]], 
         ref= c("RA", "CT_Nav"),
         xlim= c(-4, 3),
         baseline= FALSE, 
         drop= TRUE,
         pooled = "random",
         smlab = outcome.labels2[i],
         labels = long.labels,
         label.left = "Favors Treatment",
         label.right = "Favors 'Other'")

}

P.Scores

plot(
  netrank(res$net[[1]]),
  netrank(res$net[[2]]),
  netrank(res$net[[3]]),
  netrank(res$net[[4]]),
  netrank(res$net[[5]]),
  netrank(res$net[[6]]),
  name = outcome.labels2, 
  digits = 2)

Mean Differences for Length of Stay and Operation Time

res.md <- dat %>% 
  #filter(outcome %in% c("LOS", "OP_Time")) %>% 
  mutate(
    
    # Calculate Mean Difference & Standard Error Between Treatment and Control groups in Each Study for Each Outcome
    pairwise = map(
      .x = data, 
      ~pairwise(
        treat= list(trt_1, trt_2), n = list(n_1, n_2), 
        mean= list(mean_1, mean_2), sd= list(sd_1, sd_2), 
        studlab = auth, data = .x, sm = "MD", reference.group = "2")),
    
    # Perform a Random-Effects Network Meta-Analysis for each Outcome Using Mean Differences and Standard Errors from Pairwise Comparisons
    net = map(
      .x = pairwise, 
      ~netmeta(
        .x,
        random = TRUE, 
        common = FALSE, 
        reference.group = "FFG",
        sm = "MD",
        details.chkmultiarm = TRUE,
        sep.trts = " vs. ")),
    
   
    # Show Results for Direct and Indirect Evidence
    split = map(
      .x = net,
      ~netsplit(.x)),
    
    # Calculate Total Inconsistency based on the full design-by-treatment interaction random-effects model
    incon = map(
      .x = net,
      ~decomp.design(.x))
    
   )  
Table of Comparisons for Mean Differences in Length of Stay and Operation Time
md.list <- list()

for(i in 1:nrow(res.md)){
  
  md.tab <- res.md$split[[i]]$random 
  
  md.list[[i]] <- md.tab %>% 
    mutate(across(where(is.numeric), round, 2)) %>% 
    mutate("95% CI" = paste(lower, upper, sep = " to "),
           Evidence = c("Direct", "Indirect", "Direct"),
           MD = TE,
           SE = seTE,
           p.value = p) %>% 
    select(-c(statistic, lower, upper)) %>% 
    select(comparison, Evidence, MD, SE, "95% CI", p.value)

}
Table of Comparisons for Length of Stay (MD)
create_dt(md.list[[1]])
Table of Comparisons for Operation Time (MD)
create_dt(md.list[[2]])
Table of Comparisons for ODI (MD)
create_dt(md.list[[3]])
Table of Comparisons for VAS: Back (MD)
create_dt(md.list[[4]])
Table of Comparisons for VAS: Leg (MD)
create_dt(md.list[[5]])
Table of Comparisons for Blood Loss (MD)
create_dt(md.list[[6]])

Forest Plots for MD’s

Length of Stay

los.forest.md <- forest(res.md$net[[1]], 
         ref= c("RA", "CT_Nav"),
         xlim= c(-4, 4),
         baseline= FALSE, 
         drop= TRUE,
         pooled = "random",
         smlab = outcome.labels1[1],
         labels = long.labels,
         label.left = "Favors Treatment",
         label.right = "Favors 'Other'")

Operation Time

op.t.forest.md <- forest(res.md$net[[2]], 
         ref= c("RA", "CT_Nav"),
         xlim= c(-15, 15),
         baseline= FALSE, 
         drop= TRUE,
         pooled = "random",
         smlab = outcome.labels1[2],
         labels = long.labels,
         label.left = "Favors Treatment",
         label.right = "Favors 'Other'")

ODI

ODI.forest.md <- forest(res.md$net[[3]], 
         ref= c("RA", "CT_Nav"),
         xlim= c(-3, 3),
         baseline= FALSE, 
         drop= TRUE,
         pooled = "random",
         smlab = outcome.labels1[3],
         labels = long.labels,
         label.left = "Favors Treatment",
         label.right = "Favors 'Other'")

VAS: Back

VAS.back.forest.md <- forest(res.md$net[[4]], 
         ref= c("RA", "CT_Nav"),
         xlim= c(-1, 1),
         baseline= FALSE, 
         drop= TRUE,
         pooled = "random",
         smlab = outcome.labels1[4],
         labels = long.labels,
         label.left = "Favors Treatment",
         label.right = "Favors 'Other'")

VAS: Leg

VAS.leg.forest.md <- forest(res.md$net[[5]], 
         ref= c("RA", "CT_Nav"),
         xlim= c(-1, 1),
         baseline= FALSE, 
         drop= TRUE,
         pooled = "random",
         smlab = outcome.labels1[5],
         labels = long.labels,
         label.left = "Favors Treatment",
         label.right = "Favors 'Other'")

Blood Loss

blood.loss.forest.md <- forest(res.md$net[[6]], 
         ref= c("RA", "CT_Nav"),
         xlim= c(-200, 100),
         baseline= FALSE, 
         drop= TRUE,
         pooled = "random",
         smlab = outcome.labels1[6],
         labels = long.labels,
         label.left = "Favors Treatment",
         label.right = "Favors 'Other'")

lapply(res.md$net, summary)
## [[1]]
## Original data:
## 
##      treat1 treat2      TE   seTE
## Chen CT_Nav    FFG -3.2200 0.9659
## Cui     FFG     RA  2.7000 0.4932
## Hyun    FFG     RA  2.6000 1.0578
## Tian CT_Nav    FFG -1.0500 0.3084
## Wang CT_Nav    FFG -0.5300 0.7592
## Wu   CT_Nav    FFG -0.2100 0.6738
## 
## Number of treatment arms (by study):
##      narms
## Chen     2
## Cui      2
## Hyun     2
## Tian     2
## Wang     2
## Wu       2
## 
## Results (random effects model):
## 
##      treat1 treat2      MD             95%-CI
## Chen CT_Nav    FFG -1.0632 [-1.8973; -0.2292]
## Cui     FFG     RA  2.6717 [ 1.4154;  3.9279]
## Hyun    FFG     RA  2.6717 [ 1.4154;  3.9279]
## Tian CT_Nav    FFG -1.0632 [-1.8973; -0.2292]
## Wang CT_Nav    FFG -1.0632 [-1.8973; -0.2292]
## Wu   CT_Nav    FFG -1.0632 [-1.8973; -0.2292]
## 
## Number of studies: k = 6
## Number of pairwise comparisons: m = 6
## Number of observations: o = 302
## Number of treatments: n = 3
## Number of designs: d = 2
## 
## Random effects model
## 
## Treatment estimate (sm = 'MD', comparison: other treatments vs 'FFG'):
##             MD             95%-CI     z  p-value
## CT_Nav -1.0632 [-1.8973; -0.2292] -2.50   0.0125
## FFG          .                  .     .        .
## RA     -2.6717 [-3.9279; -1.4154] -4.17 < 0.0001
## 
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0.3301; tau = 0.5745; I^2 = 43.4% [0.0%; 79.2%]
## 
## Tests of heterogeneity (within designs) and inconsistency (between designs):
##                    Q d.f. p-value
## Total           7.07    4  0.1324
## Within designs  7.07    4  0.1324
## Between designs 0.00    0      --
## 
## [[2]]
## Original data:
## 
##      treat1 treat2       TE    seTE
## Chen CT_Nav    FFG  87.8300  8.0816
## Cui     FFG     RA -32.9000  2.7332
## Feng    FFG     RA  34.3800 13.2115
## Hyun    FFG     RA  -0.0000 16.6885
## Tian CT_Nav    FFG  46.1400  5.5535
## Wang CT_Nav    FFG -32.6400 12.2223
## Wu   CT_Nav    FFG -47.1300  9.3536
## 
## Number of treatment arms (by study):
##      narms
## Chen     2
## Cui      2
## Feng     2
## Hyun     2
## Tian     2
## Wang     2
## Wu       2
## 
## Results (random effects model):
## 
##      treat1 treat2      MD              95%-CI
## Chen CT_Nav    FFG 14.0835 [-39.2563; 67.4232]
## Cui     FFG     RA -0.1401 [-62.4212; 62.1411]
## Feng    FFG     RA -0.1401 [-62.4212; 62.1411]
## Hyun    FFG     RA -0.1401 [-62.4212; 62.1411]
## Tian CT_Nav    FFG 14.0835 [-39.2563; 67.4232]
## Wang CT_Nav    FFG 14.0835 [-39.2563; 67.4232]
## Wu   CT_Nav    FFG 14.0835 [-39.2563; 67.4232]
## 
## Number of studies: k = 7
## Number of pairwise comparisons: m = 7
## Number of observations: o = 382
## Number of treatments: n = 3
## Number of designs: d = 2
## 
## Random effects model
## 
## Treatment estimate (sm = 'MD', comparison: other treatments vs 'FFG'):
##             MD              95%-CI    z p-value
## CT_Nav 14.0835 [-39.2563; 67.4232] 0.52  0.6048
## FFG          .                   .    .       .
## RA      0.1401 [-62.1411; 62.4212] 0.00  0.9965
## 
## Quantifying heterogeneity / inconsistency:
## tau^2 = 2879.9214; tau = 53.6649; I^2 = 97.2% [95.7%; 98.2%]
## 
## Tests of heterogeneity (within designs) and inconsistency (between designs):
##                      Q d.f.  p-value
## Total           181.79    5 < 0.0001
## Within designs  181.79    5 < 0.0001
## Between designs   0.00    0       --
## 
## [[3]]
## Original data:
## 
##      treat1 treat2      TE   seTE
## Chen CT_Nav    FFG -0.4900 0.4341
## Cui     FFG     RA  1.6000 1.1691
## Feng    FFG     RA  0.3500 1.1383
## Wang CT_Nav    FFG  0.2700 0.8780
## Wu   CT_Nav    FFG  0.1500 3.0025
## 
## Number of treatment arms (by study):
##      narms
## Chen     2
## Cui      2
## Feng     2
## Wang     2
## Wu       2
## 
## Results (random effects model):
## 
##      treat1 treat2      MD            95%-CI
## Chen CT_Nav    FFG -0.3326 [-1.0890; 0.4239]
## Cui     FFG     RA  0.9583 [-0.6402; 2.5569]
## Feng    FFG     RA  0.9583 [-0.6402; 2.5569]
## Wang CT_Nav    FFG -0.3326 [-1.0890; 0.4239]
## Wu   CT_Nav    FFG -0.3326 [-1.0890; 0.4239]
## 
## Number of studies: k = 5
## Number of pairwise comparisons: m = 5
## Number of observations: o = 261
## Number of treatments: n = 3
## Number of designs: d = 2
## 
## Random effects model
## 
## Treatment estimate (sm = 'MD', comparison: other treatments vs 'FFG'):
##             MD            95%-CI     z p-value
## CT_Nav -0.3326 [-1.0890; 0.4239] -0.86  0.3888
## FFG          .                 .     .       .
## RA     -0.9583 [-2.5569; 0.6402] -1.17  0.2400
## 
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 84.7%]
## 
## Tests of heterogeneity (within designs) and inconsistency (between designs):
##                    Q d.f. p-value
## Total           1.22    3  0.7494
## Within designs  1.22    3  0.7494
## Between designs 0.00    0      --
## 
## [[4]]
## Original data:
## 
##      treat1 treat2      TE   seTE
## Chen CT_Nav    FFG -0.3900 0.2327
## Cui     FFG     RA  0.3000 0.1890
## Feng    FFG     RA  0.0300 0.1664
## Hyun    FFG     RA  1.1000 0.4535
## Wang CT_Nav    FFG -0.0800 0.2234
## 
## Number of treatment arms (by study):
##      narms
## Chen     2
## Cui      2
## Feng     2
## Hyun     2
## Wang     2
## 
## Results (random effects model):
## 
##      treat1 treat2      MD            95%-CI
## Chen CT_Nav    FFG -0.2319 [-0.6853; 0.2215]
## Cui     FFG     RA  0.2928 [-0.0848; 0.6704]
## Feng    FFG     RA  0.2928 [-0.0848; 0.6704]
## Hyun    FFG     RA  0.2928 [-0.0848; 0.6704]
## Wang CT_Nav    FFG -0.2319 [-0.6853; 0.2215]
## 
## Number of studies: k = 5
## Number of pairwise comparisons: m = 5
## Number of observations: o = 274
## Number of treatments: n = 3
## Number of designs: d = 2
## 
## Random effects model
## 
## Treatment estimate (sm = 'MD', comparison: other treatments vs 'FFG'):
##             MD            95%-CI     z p-value
## CT_Nav -0.2319 [-0.6853; 0.2215] -1.00  0.3161
## FFG          .                 .     .       .
## RA     -0.2928 [-0.6704; 0.0848] -1.52  0.1286
## 
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0.0550; tau = 0.2346; I^2 = 51.4% [0.0%; 83.9%]
## 
## Tests of heterogeneity (within designs) and inconsistency (between designs):
##                    Q d.f. p-value
## Total           6.17    3  0.1036
## Within designs  6.17    3  0.1036
## Between designs 0.00    0      --
## 
## [[5]]
## Original data:
## 
##      treat1 treat2      TE   seTE
## Chen CT_Nav    FFG -0.1200 0.2296
## Feng    FFG     RA -0.0300 0.1811
## Hyun    FFG     RA  0.6000 0.7618
## Wang CT_Nav    FFG  0.1200 0.2215
## 
## Number of treatment arms (by study):
##      narms
## Chen     2
## Feng     2
## Hyun     2
## Wang     2
## 
## Results (random effects model):
## 
##      treat1 treat2     MD            95%-CI
## Chen CT_Nav    FFG 0.0043 [-0.3082; 0.3167]
## Feng    FFG     RA 0.0037 [-0.3417; 0.3491]
## Hyun    FFG     RA 0.0037 [-0.3417; 0.3491]
## Wang CT_Nav    FFG 0.0043 [-0.3082; 0.3167]
## 
## Number of studies: k = 4
## Number of pairwise comparisons: m = 4
## Number of observations: o = 226
## Number of treatments: n = 3
## Number of designs: d = 2
## 
## Random effects model
## 
## Treatment estimate (sm = 'MD', comparison: other treatments vs 'FFG'):
##             MD            95%-CI     z p-value
## CT_Nav  0.0043 [-0.3082; 0.3167]  0.03  0.9786
## FFG          .                 .     .       .
## RA     -0.0037 [-0.3491; 0.3417] -0.02  0.9832
## 
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 89.6%]
## 
## Tests of heterogeneity (within designs) and inconsistency (between designs):
##                    Q d.f. p-value
## Total           1.21    2  0.5452
## Within designs  1.21    2  0.5452
## Between designs 0.00    0      --
## 
## [[6]]
## Original data:
## 
##      treat1 treat2        TE    seTE
## Chen CT_Nav    FFG -176.9100 11.4643
## Cui     FFG     RA  158.5000  6.0017
## Feng    FFG     RA   72.5000 31.0066
## Tian CT_Nav    FFG  -89.0200 23.7073
## Wang CT_Nav    FFG  -15.6000 88.2060
## Wu   CT_Nav    FFG  -24.8800 50.2541
## 
## Number of treatment arms (by study):
##      narms
## Chen     2
## Cui      2
## Feng     2
## Tian     2
## Wang     2
## Wu       2
## 
## Results (random effects model):
## 
##      treat1 treat2       MD                95%-CI
## Chen CT_Nav    FFG -95.9597 [-171.3418; -20.5776]
## Cui     FFG     RA 119.7557 [  25.4598; 214.0516]
## Feng    FFG     RA 119.7557 [  25.4598; 214.0516]
## Tian CT_Nav    FFG -95.9597 [-171.3418; -20.5776]
## Wang CT_Nav    FFG -95.9597 [-171.3418; -20.5776]
## Wu   CT_Nav    FFG -95.9597 [-171.3418; -20.5776]
## 
## Number of studies: k = 6
## Number of pairwise comparisons: m = 6
## Number of observations: o = 322
## Number of treatments: n = 3
## Number of designs: d = 2
## 
## Random effects model
## 
## Treatment estimate (sm = 'MD', comparison: other treatments vs 'FFG'):
##               MD                95%-CI     z p-value
## CT_Nav  -95.9597 [-171.3418; -20.5776] -2.49  0.0126
## FFG            .                     .     .       .
## RA     -119.7557 [-214.0516; -25.4598] -2.49  0.0128
## 
## Quantifying heterogeneity / inconsistency:
## tau^2 = 4176.4225; tau = 64.6252; I^2 = 85.7% [68.5%; 93.5%]
## 
## Tests of heterogeneity (within designs) and inconsistency (between designs):
##                     Q d.f.  p-value
## Total           27.97    4 < 0.0001
## Within designs  27.97    4 < 0.0001
## Between designs  0.00    0       --
map(.x = res.md$net, 
    ~funnel(.x, 
            order = c("FFG", "CT_Nav", "RA"), 
            method.bias = "Egger", 
            digits.pval = 2))

## [[1]]
##   studlab treat1 treat2     comparison   TE TE.direct      TE.adj      seTE pch
## 1    Chen    FFG CT_Nav FFG vs. CT_Nav 3.22   1.06324  2.15676003 0.9658696   1
## 2    Tian    FFG CT_Nav FFG vs. CT_Nav 1.05   1.06324 -0.01323997 0.3084352   1
## 3    Wang    FFG CT_Nav FFG vs. CT_Nav 0.53   1.06324 -0.53323997 0.7591582   1
## 4      Wu    FFG CT_Nav FFG vs. CT_Nav 0.21   1.06324 -0.85323997 0.6737769   1
## 5     Cui    FFG     RA     FFG vs. RA 2.70   2.67165  0.02834987 0.4932236   2
## 6    Hyun    FFG     RA     FFG vs. RA 2.60   2.67165 -0.07165013 1.0578280   2
##     col
## 1 black
## 2 black
## 3 black
## 4 black
## 5 black
## 6 black
## 
## [[2]]
##   studlab treat1 treat2     comparison     TE  TE.direct     TE.adj      seTE
## 1    Chen    FFG CT_Nav FFG vs. CT_Nav -87.83 -14.083459 -73.746541  8.081595
## 2    Tian    FFG CT_Nav FFG vs. CT_Nav -46.14 -14.083459 -32.056541  5.553506
## 3    Wang    FFG CT_Nav FFG vs. CT_Nav  32.64 -14.083459  46.723459 12.222282
## 4      Wu    FFG CT_Nav FFG vs. CT_Nav  47.13 -14.083459  61.213459  9.353600
## 5     Cui    FFG     RA     FFG vs. RA -32.90  -0.140065 -32.759935  2.733187
## 6    Feng    FFG     RA     FFG vs. RA  34.38  -0.140065  34.520065 13.211478
## 7    Hyun    FFG     RA     FFG vs. RA   0.00  -0.140065   0.140065 16.688459
##   pch   col
## 1   1 black
## 2   1 black
## 3   1 black
## 4   1 black
## 5   2 black
## 6   2 black
## 7   2 black
## 
## [[3]]
##   studlab treat1 treat2     comparison    TE TE.direct     TE.adj      seTE pch
## 1    Chen    FFG CT_Nav FFG vs. CT_Nav  0.49 0.3325787  0.1574213 0.4341494   1
## 2    Wang    FFG CT_Nav FFG vs. CT_Nav -0.27 0.3325787 -0.6025787 0.8780069   1
## 3      Wu    FFG CT_Nav FFG vs. CT_Nav -0.15 0.3325787 -0.4825787 3.0025325   1
## 4     Cui    FFG     RA     FFG vs. RA  1.60 0.9583125  0.6416875 1.1691468   2
## 5    Feng    FFG     RA     FFG vs. RA  0.35 0.9583125 -0.6083125 1.1383365   2
##     col
## 1 black
## 2 black
## 3 black
## 4 black
## 5 black
## 
## [[4]]
##   studlab treat1 treat2     comparison   TE TE.direct       TE.adj      seTE
## 1    Chen    FFG CT_Nav FFG vs. CT_Nav 0.39 0.2319281  0.158071924 0.2327015
## 2    Wang    FFG CT_Nav FFG vs. CT_Nav 0.08 0.2319281 -0.151928076 0.2233959
## 3     Cui    FFG     RA     FFG vs. RA 0.30 0.2927837  0.007216275 0.1889559
## 4    Feng    FFG     RA     FFG vs. RA 0.03 0.2927837 -0.262783725 0.1664332
## 5    Hyun    FFG     RA     FFG vs. RA 1.10 0.2927837  0.807216275 0.4535049
##   pch   col
## 1   1 black
## 2   1 black
## 3   2 black
## 4   2 black
## 5   2 black
## 
## [[5]]
##   studlab treat1 treat2     comparison    TE    TE.direct      TE.adj      seTE
## 1    Chen    FFG CT_Nav FFG vs. CT_Nav  0.12 -0.004269283  0.12426928 0.2295700
## 2    Wang    FFG CT_Nav FFG vs. CT_Nav -0.12 -0.004269283 -0.11573072 0.2215428
## 3    Feng    FFG     RA     FFG vs. RA -0.03  0.003712019 -0.03371202 0.1811353
## 4    Hyun    FFG     RA     FFG vs. RA  0.60  0.003712019  0.59628798 0.7617961
##   pch   col
## 1   1 black
## 2   1 black
## 3   2 black
## 4   2 black
## 
## [[6]]
##   studlab treat1 treat2     comparison     TE TE.direct    TE.adj      seTE pch
## 1    Chen    FFG CT_Nav FFG vs. CT_Nav 176.91   95.9597  80.95030 11.464272   1
## 2    Tian    FFG CT_Nav FFG vs. CT_Nav  89.02   95.9597  -6.93970 23.707297   1
## 3    Wang    FFG CT_Nav FFG vs. CT_Nav  15.60   95.9597 -80.35970 88.206027   1
## 4      Wu    FFG CT_Nav FFG vs. CT_Nav  24.88   95.9597 -71.07970 50.254081   1
## 5     Cui    FFG     RA     FFG vs. RA 158.50  119.7557  38.74433  6.001739   2
## 6    Feng    FFG     RA     FFG vs. RA  72.50  119.7557 -47.25567 31.006581   2
##     col
## 1 black
## 2 black
## 3 black
## 4 black
## 5 black
## 6 black