Code
source("R/nma_functions.R")
dat <- load_pairwise_data()
nm <- run_model(dat, model_type = "simple", effect_model = "random")

Local inconsistency: node-splitting

Code
ns <- tryCatch(
  netmeta::netsplit(
    nm,
    random = TRUE,
    common = FALSE,
    backtransf = TRUE
  ),
  error = identity
)

if (inherits(ns, "error")) {
  cat("Node-splitting failed:", conditionMessage(ns))
} else {

  dir <- ns$direct.random[, c("comparison", "TE", "lower", "upper", "p")]
  ind <- ns$indirect.random[, c("comparison", "TE", "lower", "upper", "p")]
  cmp <- ns$compare.random[, c("comparison", "z", "p")]

  res <- merge(
    dir,
    ind,
    by = "comparison",
    all = TRUE,
    suffixes = c(".direct", ".indirect")
  )

  res <- merge(
    res,
    cmp,
    by = "comparison",
    all = TRUE
  )

  res$Q <- res$z^2
  res$df <- 1L

  names(res)[names(res) == "TE.direct"] <- "Direct"
  names(res)[names(res) == "TE.indirect"] <- "Indirect"
  names(res)[names(res) == "p.x"] <- "p.direct"
  names(res)[names(res) == "p.y"] <- "p.indirect"
  names(res)[names(res) == "p"] <- "p.diff"

  out <- res[, c(
    "comparison",
    "Direct",
    "Indirect",
    "lower.direct",
    "upper.direct",
    "lower.indirect",
    "upper.indirect",
    "z",
    "Q",
    "df",
    "p.diff"
  )]

  numcols <- c(
    "Direct",
    "Indirect",
    "lower.direct",
    "upper.direct",
    "lower.indirect",
    "upper.indirect",
    "z",
    "Q",
    "p.diff"
  )

  out[numcols] <- lapply(
    out[numcols],
    function(x) if (is.numeric(x)) round(x, 3) else x
  )

  out <- out[order(out$comparison), ]

  knitr::kable(
    out,
    caption = "Node-splitting results: direct, indirect, and direct-versus-indirect evidence"
  )
}
Node-splitting results: direct, indirect, and direct-versus-indirect evidence
comparison Direct Indirect lower.direct upper.direct lower.indirect upper.indirect z Q df p.diff
Acal + O:Acal NA 0.540 NA NA 0.071 1.009 NA NA 1 NA
Acal + O:BR NA 1.367 NA NA 0.844 1.890 NA NA 1 NA
Acal + O:Clb NA 2.218 NA NA 1.493 2.943 NA NA 1 NA
Acal + O:Clb + O 1.967 NA 1.620 2.314 NA NA NA NA 1 NA
Acal + O:FCR NA 1.796 NA NA 1.100 2.492 NA NA 1 NA
Acal + O:FCR + BR NA 1.551 NA NA 0.929 2.173 NA NA 1 NA
Acal + O:I NA 0.346 NA NA -0.286 0.978 NA NA 1 NA
Acal + O:I + R NA 0.890 NA NA 0.159 1.621 NA NA 1 NA
Acal + O:Ibr + O NA 0.581 NA NA 0.017 1.145 NA NA 1 NA
Acal + O:Ibr + Ven NA 0.657 NA NA 0.141 1.173 NA NA 1 NA
Acal + O:Ven + O NA 0.796 NA NA 0.303 1.289 NA NA 1 NA
Acal + O:Ven + O + Ibr NA 0.347 NA NA -0.422 1.116 NA NA 1 NA
Acal + O:Ven + R NA 1.194 NA NA 0.552 1.836 NA NA 1 NA
Acal + O:Zanubrutinib NA 0.129 NA NA -0.485 0.743 NA NA 1 NA
BR:Acal NA -0.827 NA NA -1.330 -0.324 NA NA 1 NA
BR:Clb NA 0.851 NA NA 0.349 1.353 NA NA 1 NA
BR:Clb + O 0.600 NA 0.208 0.992 NA NA NA NA 1 NA
BR:FCR NA 0.429 NA NA -0.290 1.148 NA NA 1 NA
BR:FCR + BR NA 0.184 NA NA -0.464 0.832 NA NA 1 NA
BR:I -1.021 NA -1.376 -0.666 NA NA NA NA 1 NA
BR:I + R NA -0.477 NA NA -1.230 0.276 NA NA 1 NA
BR:Ibr + O NA -0.786 NA NA -1.379 -0.193 NA NA 1 NA
BR:Ibr + Ven NA -0.710 NA NA -1.257 -0.163 NA NA 1 NA
BR:Ven + O NA -0.571 NA NA -1.097 -0.045 NA NA 1 NA
BR:Ven + O + Ibr NA -1.020 NA NA -1.810 -0.230 NA NA 1 NA
BR:Ven + R NA -0.173 NA NA -0.841 0.495 NA NA 1 NA
BR:Zanubrutinib -1.238 NA -1.559 -0.917 NA NA NA NA 1 NA
Clb + O:Acal -1.427 NA -1.743 -1.111 NA NA NA NA 1 NA
Clb + O:FCR NA -0.171 NA NA -0.774 0.432 NA NA 1 NA
Clb + O:FCR + BR NA -0.416 NA NA -0.932 0.100 NA NA 1 NA
Clb + O:I NA -1.621 NA NA -2.150 -1.092 NA NA 1 NA
Clb + O:I + R NA -1.077 NA NA -1.720 -0.434 NA NA 1 NA
Clb + O:Ibr + O -1.386 NA -1.831 -0.941 NA NA NA NA 1 NA
Clb + O:Ibr + Ven -1.310 NA -1.692 -0.928 NA NA NA NA 1 NA
Clb + O:Ven + O -1.171 NA -1.522 -0.820 NA NA NA NA 1 NA
Clb + O:Ven + O + Ibr NA -1.620 NA NA -2.306 -0.934 NA NA 1 NA
Clb + O:Ven + R NA -0.773 NA NA -1.313 -0.233 NA NA 1 NA
Clb + O:Zanubrutinib NA -1.838 NA NA -2.345 -1.331 NA NA 1 NA
Clb:Acal NA -1.678 NA NA -2.389 -0.967 NA NA 1 NA
Clb:Clb + O NA -0.251 NA NA -0.888 0.386 NA NA 1 NA
Clb:FCR NA -0.422 NA NA -1.299 0.455 NA NA 1 NA
Clb:FCR + BR NA -0.667 NA NA -1.486 0.152 NA NA 1 NA
Clb:I -1.872 NA -2.227 -1.517 NA NA NA NA 1 NA
Clb:I + R NA -1.328 NA NA -2.233 -0.423 NA NA 1 NA
Clb:Ibr + O NA -1.637 NA NA -2.414 -0.860 NA NA 1 NA
Clb:Ibr + Ven NA -1.561 NA NA -2.304 -0.818 NA NA 1 NA
Clb:Ven + O NA -1.422 NA NA -2.149 -0.695 NA NA 1 NA
Clb:Ven + O + Ibr NA -1.871 NA NA -2.807 -0.935 NA NA 1 NA
Clb:Ven + R NA -1.024 NA NA -1.859 -0.189 NA NA 1 NA
Clb:Zanubrutinib NA -2.089 NA NA -2.685 -1.493 NA NA 1 NA
FCR + BR:Acal NA -1.011 NA NA -1.616 -0.406 NA NA 1 NA
FCR + BR:I NA -1.205 NA NA -1.944 -0.466 NA NA 1 NA
FCR + BR:I + R NA -0.661 NA NA -1.485 0.163 NA NA 1 NA
FCR + BR:Ibr + O NA -0.970 NA NA -1.651 -0.289 NA NA 1 NA
FCR + BR:Ibr + Ven NA -0.894 NA NA -1.536 -0.252 NA NA 1 NA
FCR + BR:Ven + O -0.755 NA -1.133 -0.377 NA NA NA NA 1 NA
FCR + BR:Ven + O + Ibr -1.204 NA -1.657 -0.751 NA NA NA NA 1 NA
FCR + BR:Ven + R -0.357 NA -0.518 -0.196 NA NA NA NA 1 NA
FCR + BR:Zanubrutinib NA -1.422 NA NA -2.145 -0.699 NA NA 1 NA
FCR:Acal NA -1.256 NA NA -1.937 -0.575 NA NA 1 NA
FCR:FCR + BR NA -0.245 NA NA -1.039 0.549 NA NA 1 NA
FCR:I NA -1.450 NA NA -2.252 -0.648 NA NA 1 NA
FCR:I + R -0.906 NA -1.129 -0.683 NA NA NA NA 1 NA
FCR:Ibr + O NA -1.215 NA NA -1.964 -0.466 NA NA 1 NA
FCR:Ibr + Ven -1.139 NA -1.605 -0.673 NA NA NA NA 1 NA
FCR:Ven + O NA -1.000 NA NA -1.698 -0.302 NA NA 1 NA
FCR:Ven + O + Ibr NA -1.449 NA NA -2.363 -0.535 NA NA 1 NA
FCR:Ven + R NA -0.602 NA NA -1.412 0.208 NA NA 1 NA
FCR:Zanubrutinib NA -1.667 NA NA -2.455 -0.879 NA NA 1 NA
I + R:Acal NA -0.350 NA NA -1.066 0.366 NA NA 1 NA
I + R:Ibr + O NA -0.309 NA NA -1.091 0.473 NA NA 1 NA
I + R:Ibr + Ven NA -0.233 NA NA -0.750 0.284 NA NA 1 NA
I + R:Ven + O NA -0.094 NA NA -0.827 0.638 NA NA 1 NA
I + R:Ven + O + Ibr NA -0.543 NA NA -1.484 0.397 NA NA 1 NA
I + R:Ven + R NA 0.304 NA NA -0.536 1.144 NA NA 1 NA
I + R:Zanubrutinib NA -0.761 NA NA -1.580 0.058 NA NA 1 NA
I:Acal NA 0.194 NA NA -0.422 0.810 NA NA 1 NA
I:I + R NA 0.544 NA NA -0.288 1.377 NA NA 1 NA
I:Ibr + O NA 0.235 NA NA -0.456 0.926 NA NA 1 NA
I:Ibr + Ven NA 0.311 NA NA -0.341 0.963 NA NA 1 NA
I:Ven + O NA 0.450 NA NA -0.185 1.085 NA NA 1 NA
I:Ven + O + Ibr NA 0.001 NA NA -0.865 0.867 NA NA 1 NA
I:Ven + R NA 0.848 NA NA 0.092 1.604 NA NA 1 NA
I:Zanubrutinib NA -0.217 NA NA -0.696 0.262 NA NA 1 NA
Ibr + O:Acal NA -0.041 NA NA -0.586 0.504 NA NA 1 NA
Ibr + O:Ibr + Ven NA 0.076 NA NA -0.511 0.663 NA NA 1 NA
Ibr + O:Ven + O NA 0.215 NA NA -0.352 0.782 NA NA 1 NA
Ibr + O:Ven + O + Ibr NA -0.234 NA NA -1.052 0.584 NA NA 1 NA
Ibr + O:Ven + R NA 0.613 NA NA -0.087 1.313 NA NA 1 NA
Ibr + O:Zanubrutinib NA -0.452 NA NA -1.126 0.222 NA NA 1 NA
Ibr + Ven:Acal NA -0.117 NA NA -0.613 0.379 NA NA 1 NA
Ibr + Ven:Ven + O NA 0.139 NA NA -0.380 0.658 NA NA 1 NA
Ibr + Ven:Ven + O + Ibr NA -0.310 NA NA -1.096 0.476 NA NA 1 NA
Ibr + Ven:Ven + R NA 0.537 NA NA -0.125 1.199 NA NA 1 NA
Ibr + Ven:Zanubrutinib NA -0.528 NA NA -1.163 0.107 NA NA 1 NA
Ven + O + Ibr:Acal NA 0.193 NA NA -0.562 0.948 NA NA 1 NA
Ven + O + Ibr:Ven + R NA 0.847 NA NA 0.367 1.327 NA NA 1 NA
Ven + O + Ibr:Zanubrutinib NA -0.218 NA NA -1.071 0.635 NA NA 1 NA
Ven + O:Acal NA -0.256 NA NA -0.728 0.216 NA NA 1 NA
Ven + O:Ven + O + Ibr NA -0.449 NA NA -1.039 0.141 NA NA 1 NA
Ven + O:Ven + R NA 0.398 NA NA -0.013 0.809 NA NA 1 NA
Ven + O:Zanubrutinib NA -0.667 NA NA -1.283 -0.051 NA NA 1 NA
Ven + R:Acal NA -0.654 NA NA -1.280 -0.028 NA NA 1 NA
Ven + R:Zanubrutinib NA -1.065 NA NA -1.806 -0.324 NA NA 1 NA
Zanubrutinib:Acal NA 0.411 NA NA -0.186 1.008 NA NA 1 NA

Global inconsistency: design-by-treatment decomposition

Code
dec <- tryCatch(netmeta::decomp.design(nm), error = identity)
if (inherits(dec, "error")) {
  cat("Design-by-treatment decomposition failed:", conditionMessage(dec))
} else {
  knitr::kable(round(dec$Q.decomp, 3))
}
Q df pval
Total 0.584 1 0.445
Within designs 0.584 1 0.445
Between designs 0.000 0 NA