Back to main page.

Read data.

D <- readSheet("MI")

Tidy up the data (do not show the code).

study treatment responders sampleSize
ARISTOTLE Apixaban_5_mg 90 9120
ARISTOTLE Warfarin 102 9081
ARISTOTLE-J Apixaban_5_mg 0 74
ARISTOTLE-J Warfarin 0 74
ENGAGE AF-TIMI Edoxaban_30_mg 169 7034
ENGAGE AF-TIMI Edoxaban_60_mg 133 7035
ENGAGE AF-TIMI Warfarin 141 7036
J-ROCKET Rivaroxaban_15_mg 3 637
J-ROCKET Warfarin 1 637
RE-LY Dabigatran_110_mg 86 6015
RE-LY Dabigatran_150_mg 89 6076
RE-LY Warfarin 63 6022
ROCKET-AF Rivaroxaban_20_mg 100 7061
ROCKET-AF Warfarin 126 7082

Run the model using fixed-effects.

M <- mtc.model(network, type="consistency", linearModel=effect)
plot(M)

results <- mtc.run(M, n.adapt=nAdapt, n.iter=nIter, thin=thin)

Summary

Direct and indirect odds ratios and 95% confidence bounds are stored in mtcMIOddsRatios.csv.

or <- combineResults()
write.csv(or, file="mtcMIOddsRatios.csv", row.names=FALSE)
print(xtable(or), type="html", include.rownames=FALSE)
treatment Apixaban 5 mg Dabigatran 110 mg Dabigatran 150 mg Edoxaban 30 mg Edoxaban 60 mg Rivaroxaban 15 mg Rivaroxaban 20 mg Warfarin
Apixaban 5 mg vs 0.64 (0.41, 0.98) 0.62 (0.40, 0.96) 0.73 (0.51, 1.04) 0.93 (0.64, 1.36) 0.23 (0.01, 2.06) 1.11 (0.75, 1.64) 0.88 (0.66, 1.17)
Dabigatran 110 mg vs 1.57 (1.02, 2.43) 0.98 (0.72, 1.32) 1.14 (0.77, 1.70) 1.46 (0.97, 2.18) 0.35 (0.01, 3.26) 1.74 (1.13, 2.65) 1.38 (0.99, 1.91)
Dabigatran 150 mg vs 1.60 (1.04, 2.50) 1.02 (0.76, 1.39) 1.17 (0.80, 1.74) 1.49 (1.01, 2.23) 0.36 (0.01, 3.37) 1.78 (1.16, 2.72) 1.41 (1.02, 1.96)
Edoxaban 30 mg vs 1.37 (0.96, 1.97) 0.88 (0.59, 1.29) 0.86 (0.58, 1.26) 1.28 (1.02, 1.61) 0.31 (0.01, 2.79) 1.52 (1.07, 2.15) 1.21 (0.97, 1.50)
Edoxaban 60 mg vs 1.07 (0.73, 1.55) 0.68 (0.46, 1.03) 0.67 (0.45, 0.99) 0.78 (0.62, 0.98) 0.24 (0.01, 2.21) 1.19 (0.83, 1.70) 0.94 (0.74, 1.20)
Rivaroxaban 15 mg vs 4.40 (0.48, 122.55) 2.84 (0.31, 79.55) 2.75 (0.30, 77.63) 3.19 (0.36, 90.18) 4.09 (0.45, 117.07) 4.90 (0.54, 139.60) 3.88 (0.44, 110.59)
Rivaroxaban 20 mg vs 0.90 (0.61, 1.34) 0.58 (0.38, 0.89) 0.56 (0.37, 0.86) 0.66 (0.46, 0.93) 0.84 (0.59, 1.21) 0.20 (0.01, 1.84) 0.79 (0.61, 1.04)
Warfarin vs 1.14 (0.85, 1.52) 0.73 (0.52, 1.01) 0.71 (0.51, 0.98) 0.83 (0.66, 1.04) 1.06 (0.84, 1.35) 0.26 (0.01, 2.29) 1.26 (0.96, 1.65)

Forest plots, NOAC vs NOAC

noac <- unique(D[treatment != "Warfarin", treatment])
for (i in 1:length(noac)) {
  forest(relative.effect(results, noac[i], noac[1:length(noac) != i]))
}

Diagnostics

summary(results)
## $measure
## [1] "Log Odds Ratio"
## 
## $summaries
## 
## Iterations = 5010:30000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 2500 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                 Mean     SD Naive SE Time-series SE
## d.Warfarin.Apixaban_5_mg     -0.1306 0.1465 0.001465       0.001535
## d.Warfarin.Dabigatran_110_mg  0.3194 0.1665 0.001665       0.001988
## d.Warfarin.Dabigatran_150_mg  0.3425 0.1655 0.001655       0.001716
## d.Warfarin.Edoxaban_30_mg     0.1865 0.1137 0.001137       0.001239
## d.Warfarin.Edoxaban_60_mg    -0.0592 0.1213 0.001213       0.001287
## d.Warfarin.Rivaroxaban_15_mg  1.4945 1.3872 0.013872       0.014353
## d.Warfarin.Rivaroxaban_20_mg -0.2338 0.1364 0.001364       0.001364
## 
## 2. Quantiles for each variable:
## 
##                                   2.5%     25%      50%      75%   97.5%
## d.Warfarin.Apixaban_5_mg     -0.416259 -0.2310 -0.12995 -0.03226 0.16041
## d.Warfarin.Dabigatran_110_mg -0.008269  0.2078  0.31933  0.43113 0.64456
## d.Warfarin.Dabigatran_150_mg  0.019647  0.2308  0.34168  0.45423 0.67073
## d.Warfarin.Edoxaban_30_mg    -0.035503  0.1104  0.18694  0.26253 0.40875
## d.Warfarin.Edoxaban_60_mg    -0.297093 -0.1411 -0.05936  0.02351 0.17869
## d.Warfarin.Rivaroxaban_15_mg -0.830454  0.5372  1.35482  2.28944 4.70582
## d.Warfarin.Rivaroxaban_20_mg -0.497875 -0.3235 -0.23442 -0.14449 0.03734
## 
## 
## $DIC
##     Dbar       pD      DIC 
## 12.29397 12.12866 24.42263 
## 
## attr(,"class")
## [1] "summary.mtc.result"

Sampler diagnostics.

gelman.plot(results)

gelman.diag(results)
## Potential scale reduction factors:
## 
##                              Point est. Upper C.I.
## d.Warfarin.Apixaban_5_mg              1          1
## d.Warfarin.Dabigatran_110_mg          1          1
## d.Warfarin.Dabigatran_150_mg          1          1
## d.Warfarin.Edoxaban_30_mg             1          1
## d.Warfarin.Edoxaban_60_mg             1          1
## d.Warfarin.Rivaroxaban_15_mg          1          1
## d.Warfarin.Rivaroxaban_20_mg          1          1
## 
## Multivariate psrf
## 
## 1
plot(results)

autocorr.plot(results$samples)

Assess the degree of heterogeneity and inconsistency.

anohe <- mtc.anohe(network, n.adapt=nAdapt, n.iter=nIter, thin=thin)
summary(anohe)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                  t1                t2 i2.pair i2.cons incons.p
## 1     Apixaban_5_mg          Warfarin       0       0       NA
## 2 Dabigatran_110_mg Dabigatran_150_mg      NA      NA       NA
## 3 Dabigatran_110_mg          Warfarin      NA      NA       NA
## 4 Dabigatran_150_mg          Warfarin      NA      NA       NA
## 5    Edoxaban_30_mg    Edoxaban_60_mg      NA      NA       NA
## 6    Edoxaban_30_mg          Warfarin      NA      NA       NA
## 7    Edoxaban_60_mg          Warfarin      NA      NA       NA
## 8 Rivaroxaban_15_mg          Warfarin      NA      NA       NA
## 9 Rivaroxaban_20_mg          Warfarin      NA      NA       NA
## 
## Global I-squared:
## -------------------------
## 
##   i2.pair i2.cons
## 1       0       0
plot(anohe)
## Analysis of heterogeneity -- convergence plots
## Unrelated Study Effects (USE) model:

## Unrelated Mean Effects (UME) model:

## Consistency model: