This vignette describes the analysis of 50 trials of 8 thrombolytic
drugs (streptokinase, SK; alteplase, t-PA; accelerated alteplase, Acc
t-PA; streptokinase plus alteplase, SK+tPA; reteplase, r-PA;
tenocteplase, TNK; urokinase, UK; anistreptilase, ASPAC) plus
per-cutaneous transluminal coronary angioplasty (PTCA) (Boland et al. 2003; Lu and Ades 2006; Dias et al.
2011, 2010). The number of deaths
in 30 or 35 days following acute myocardial infarction are recorded. The
data are available in this package as thrombolytics
:
head(thrombolytics)
#> studyn trtn trtc r n
#> 1 1 1 SK 1472 20251
#> 2 1 3 Acc t-PA 652 10396
#> 3 1 4 SK + t-PA 723 10374
#> 4 2 1 SK 9 130
#> 5 2 2 t-PA 6 123
#> 6 3 1 SK 5 63
We begin by setting up the network. We have arm-level count data
giving the number of deaths (r
) out of the total
(n
) in each arm, so we use the function
set_agd_arm()
. By default, SK is set as the network
reference treatment.
thrombo_net <- set_agd_arm(thrombolytics,
study = studyn,
trt = trtc,
r = r,
n = n)
thrombo_net
#> A network with 50 AgD studies (arm-based).
#>
#> ------------------------------------------------------- AgD studies (arm-based) ----
#> Study Treatment arms
#> 1 3: SK | Acc t-PA | SK + t-PA
#> 2 2: SK | t-PA
#> 3 2: SK | t-PA
#> 4 2: SK | t-PA
#> 5 2: SK | t-PA
#> 6 3: SK | ASPAC | t-PA
#> 7 2: SK | t-PA
#> 8 2: SK | t-PA
#> 9 2: SK | t-PA
#> 10 2: SK | SK + t-PA
#> ... plus 40 more studies
#>
#> Outcome type: count
#> ------------------------------------------------------------------------------------
#> Total number of treatments: 9
#> Total number of studies: 50
#> Reference treatment is: SK
#> Network is connected
Plot the network structure.
Following TSD 4 (Dias et
al. 2011), we fit a fixed effects NMA model, using the
nma()
function with trt_effects = "fixed"
. We
use \(\mathrm{N}(0, 100^2)\) prior
distributions for the treatment effects \(d_k\) and study-specific intercepts \(\mu_j\). We can examine the range of
parameter values implied by these prior distributions with the
summary()
method:
summary(normal(scale = 100))
#> A Normal prior distribution: location = 0, scale = 100.
#> 50% of the prior density lies between -67.45 and 67.45.
#> 95% of the prior density lies between -196 and 196.
The model is fitted using the nma()
function. By
default, this will use a Binomial likelihood and a logit link function,
auto-detected from the data.
thrombo_fit <- nma(thrombo_net,
trt_effects = "fixed",
prior_intercept = normal(scale = 100),
prior_trt = normal(scale = 100))
#> Note: Setting "SK" as the network reference treatment.
Basic parameter summaries are given by the print()
method:
thrombo_fit
#> A fixed effects NMA with a binomial likelihood (logit link).
#> Inference for Stan model: binomial_1par.
#> 4 chains, each with iter=2000; warmup=1000; thin=1;
#> post-warmup draws per chain=1000, total post-warmup draws=4000.
#>
#> mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff Rhat
#> d[Acc t-PA] -0.18 0.00 0.04 -0.26 -0.21 -0.18 -0.15 -0.09 2720 1
#> d[ASPAC] 0.02 0.00 0.04 -0.06 -0.01 0.02 0.04 0.09 4711 1
#> d[PTCA] -0.48 0.00 0.10 -0.68 -0.54 -0.48 -0.41 -0.28 4289 1
#> d[r-PA] -0.12 0.00 0.06 -0.24 -0.16 -0.12 -0.08 -0.01 4066 1
#> d[SK + t-PA] -0.05 0.00 0.05 -0.15 -0.08 -0.05 -0.02 0.04 6488 1
#> d[t-PA] 0.00 0.00 0.03 -0.06 -0.02 0.00 0.02 0.06 4416 1
#> d[TNK] -0.17 0.00 0.08 -0.32 -0.22 -0.17 -0.12 -0.02 4065 1
#> d[UK] -0.20 0.00 0.22 -0.62 -0.34 -0.20 -0.06 0.22 4544 1
#> lp__ -43042.88 0.15 5.37 -43053.99 -43046.49 -43042.62 -43039.15 -43033.15 1249 1
#>
#> Samples were drawn using NUTS(diag_e) at Mon Apr 29 16:34:10 2024.
#> For each parameter, n_eff is a crude measure of effective sample size,
#> and Rhat is the potential scale reduction factor on split chains (at
#> convergence, Rhat=1).
By default, summaries of the study-specific intercepts \(\mu_j\) are hidden, but could be examined
by changing the pars
argument:
The prior and posterior distributions can be compared visually using
the plot_prior_posterior()
function:
Model fit can be checked using the dic()
function
(dic_consistency <- dic(thrombo_fit))
#> Residual deviance: 105.9 (on 102 data points)
#> pD: 58.8
#> DIC: 164.7
and the residual deviance contributions examined with the
corresponding plot()
method.
There are a number of points which are not very well fit by the model, having posterior mean residual deviance contributions greater than 1.
Note: The results of the inconsistency models here are slightly different to those of Dias et al. (2010, 2011), although the overall conclusions are the same. This is due to the presence of multi-arm trials and a different ordering of treatments, meaning that inconsistency is parameterised differently within the multi-arm trials. The same results as Dias et al. are obtained if the network is instead set up with
trtn
as the treatment variable.
Another method for assessing inconsistency is node-splitting (Dias et al. 2011, 2010). Whereas the UME model assesses inconsistency globally, node-splitting assesses inconsistency locally for each potentially inconsistent comparison (those with both direct and indirect evidence) in turn.
Node-splitting can be performed using the nma()
function
with the argument consistency = "nodesplit"
. By default,
all possible comparisons will be split (as determined by the
get_nodesplits()
function). Alternatively, a specific
comparison or comparisons to split can be provided to the
nodesplit
argument.
thrombo_nodesplit <- nma(thrombo_net,
consistency = "nodesplit",
trt_effects = "fixed",
prior_intercept = normal(scale = 100),
prior_trt = normal(scale = 100))
#> Fitting model 1 of 15, node-split: Acc t-PA vs. SK
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 2 of 15, node-split: ASPAC vs. SK
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 3 of 15, node-split: PTCA vs. SK
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 4 of 15, node-split: r-PA vs. SK
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 5 of 15, node-split: t-PA vs. SK
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 6 of 15, node-split: UK vs. SK
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 7 of 15, node-split: ASPAC vs. Acc t-PA
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 8 of 15, node-split: PTCA vs. Acc t-PA
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 9 of 15, node-split: r-PA vs. Acc t-PA
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 10 of 15, node-split: SK + t-PA vs. Acc t-PA
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 11 of 15, node-split: UK vs. Acc t-PA
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 12 of 15, node-split: t-PA vs. ASPAC
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 13 of 15, node-split: t-PA vs. PTCA
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 14 of 15, node-split: UK vs. t-PA
#> Note: Setting "SK" as the network reference treatment.
#> Fitting model 15 of 15, consistency model
#> Note: Setting "SK" as the network reference treatment.
The summary()
method summarises the node-splitting
results, displaying the direct and indirect estimates \(d_\mathrm{dir}\) and \(d_\mathrm{ind}\) from each node-split
model, the network estimate \(d_\mathrm{net}\) from the consistency
model, the inconsistency factor \(\omega =
d_\mathrm{dir} - d_\mathrm{ind}\), and a Bayesian \(p\)-value for inconsistency on each
comparison. The DIC model fit statistics are also provided. (If a random
effects model was fitted, the heterogeneity standard deviation \(\tau\) under each node-split model and
under the consistency model would also be displayed.)
summary(thrombo_nodesplit)
#> Node-splitting models fitted for 14 comparisons.
#>
#> ---------------------------------------------------- Node-split Acc t-PA vs. SK ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net -0.18 0.04 -0.26 -0.21 -0.18 -0.15 -0.09 2771 3221 1
#> d_dir -0.16 0.05 -0.25 -0.19 -0.16 -0.13 -0.06 4529 3390 1
#> d_ind -0.25 0.09 -0.42 -0.31 -0.25 -0.18 -0.07 732 1407 1
#> omega 0.09 0.10 -0.11 0.02 0.09 0.16 0.29 855 1431 1
#>
#> Residual deviance: 106.4 (on 102 data points)
#> pD: 59.9
#> DIC: 166.3
#>
#> Bayesian p-value: 0.4
#>
#> ------------------------------------------------------- Node-split ASPAC vs. SK ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net 0.01 0.04 -0.06 -0.01 0.02 0.04 0.08 4875 3646 1
#> d_dir 0.01 0.04 -0.06 -0.02 0.01 0.03 0.08 4493 3847 1
#> d_ind 0.43 0.24 -0.04 0.26 0.42 0.58 0.92 2438 2582 1
#> omega -0.42 0.25 -0.92 -0.57 -0.41 -0.25 0.06 2447 2761 1
#>
#> Residual deviance: 104 (on 102 data points)
#> pD: 59.5
#> DIC: 163.5
#>
#> Bayesian p-value: 0.084
#>
#> -------------------------------------------------------- Node-split PTCA vs. SK ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net -0.48 0.10 -0.67 -0.54 -0.47 -0.41 -0.28 4233 3413 1
#> d_dir -0.66 0.18 -1.03 -0.78 -0.66 -0.54 -0.30 5574 3448 1
#> d_ind -0.39 0.12 -0.63 -0.47 -0.39 -0.31 -0.16 3695 3328 1
#> omega -0.27 0.22 -0.71 -0.42 -0.28 -0.12 0.17 4819 3447 1
#>
#> Residual deviance: 105.5 (on 102 data points)
#> pD: 59.8
#> DIC: 165.3
#>
#> Bayesian p-value: 0.22
#>
#> -------------------------------------------------------- Node-split r-PA vs. SK ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net -0.12 0.06 -0.24 -0.16 -0.12 -0.08 0.00 3757 3379 1
#> d_dir -0.06 0.09 -0.23 -0.12 -0.06 0.00 0.11 4843 3710 1
#> d_ind -0.18 0.08 -0.33 -0.23 -0.18 -0.12 -0.02 2515 3327 1
#> omega 0.12 0.12 -0.12 0.04 0.12 0.20 0.35 3023 3192 1
#>
#> Residual deviance: 105.8 (on 102 data points)
#> pD: 59.6
#> DIC: 165.4
#>
#> Bayesian p-value: 0.33
#>
#> -------------------------------------------------------- Node-split t-PA vs. SK ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net 0.00 0.03 -0.05 -0.02 0.00 0.02 0.06 4765 3738 1
#> d_dir 0.00 0.03 -0.06 -0.02 0.00 0.02 0.06 4085 3674 1
#> d_ind 0.19 0.24 -0.29 0.03 0.19 0.34 0.65 1391 2268 1
#> omega -0.19 0.24 -0.65 -0.35 -0.18 -0.03 0.29 1431 2330 1
#>
#> Residual deviance: 106.1 (on 102 data points)
#> pD: 59.6
#> DIC: 165.7
#>
#> Bayesian p-value: 0.42
#>
#> ---------------------------------------------------------- Node-split UK vs. SK ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net -0.20 0.22 -0.63 -0.34 -0.20 -0.05 0.24 3939 3643 1
#> d_dir -0.37 0.53 -1.42 -0.72 -0.36 -0.01 0.64 5762 3429 1
#> d_ind -0.17 0.24 -0.65 -0.33 -0.17 -0.01 0.30 4194 3515 1
#> omega -0.20 0.58 -1.34 -0.59 -0.20 0.19 0.92 4829 3678 1
#>
#> Residual deviance: 107.1 (on 102 data points)
#> pD: 60
#> DIC: 167.1
#>
#> Bayesian p-value: 0.73
#>
#> ------------------------------------------------- Node-split ASPAC vs. Acc t-PA ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net 0.19 0.05 0.09 0.16 0.19 0.23 0.30 3403 3370 1
#> d_dir 1.41 0.42 0.64 1.11 1.39 1.68 2.32 4141 2952 1
#> d_ind 0.16 0.06 0.05 0.13 0.16 0.20 0.28 3542 2854 1
#> omega 1.24 0.43 0.45 0.95 1.22 1.51 2.14 4093 2841 1
#>
#> Residual deviance: 96.8 (on 102 data points)
#> pD: 59.7
#> DIC: 156.4
#>
#> Bayesian p-value: <0.01
#>
#> -------------------------------------------------- Node-split PTCA vs. Acc t-PA ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net -0.30 0.10 -0.49 -0.36 -0.30 -0.23 -0.11 5661 3291 1
#> d_dir -0.21 0.12 -0.45 -0.30 -0.21 -0.13 0.02 3621 3410 1
#> d_ind -0.47 0.18 -0.82 -0.59 -0.47 -0.35 -0.13 3112 3331 1
#> omega 0.26 0.21 -0.15 0.11 0.26 0.40 0.68 2736 2996 1
#>
#> Residual deviance: 105.6 (on 102 data points)
#> pD: 59.9
#> DIC: 165.5
#>
#> Bayesian p-value: 0.23
#>
#> -------------------------------------------------- Node-split r-PA vs. Acc t-PA ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net 0.05 0.06 -0.06 0.02 0.06 0.09 0.16 4948 3512 1
#> d_dir 0.02 0.07 -0.11 -0.03 0.02 0.06 0.15 4613 3458 1
#> d_ind 0.13 0.10 -0.06 0.06 0.13 0.20 0.33 1924 2746 1
#> omega -0.11 0.12 -0.34 -0.20 -0.12 -0.04 0.12 1939 2647 1
#>
#> Residual deviance: 106.1 (on 102 data points)
#> pD: 59.8
#> DIC: 165.9
#>
#> Bayesian p-value: 0.35
#>
#> --------------------------------------------- Node-split SK + t-PA vs. Acc t-PA ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net 0.13 0.05 0.02 0.09 0.13 0.16 0.23 5036 3450 1
#> d_dir 0.13 0.05 0.02 0.09 0.13 0.16 0.23 3871 3488 1
#> d_ind 0.65 0.69 -0.66 0.18 0.62 1.10 2.02 3131 2268 1
#> omega -0.52 0.69 -1.87 -0.97 -0.49 -0.05 0.79 3137 2211 1
#>
#> Residual deviance: 106.3 (on 102 data points)
#> pD: 59.6
#> DIC: 165.9
#>
#> Bayesian p-value: 0.46
#>
#> ---------------------------------------------------- Node-split UK vs. Acc t-PA ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net -0.02 0.22 -0.46 -0.17 -0.02 0.13 0.41 4017 3553 1
#> d_dir 0.14 0.36 -0.56 -0.11 0.13 0.38 0.84 5031 3265 1
#> d_ind -0.13 0.28 -0.71 -0.32 -0.13 0.07 0.41 4396 3452 1
#> omega 0.27 0.46 -0.64 -0.06 0.26 0.58 1.17 4269 3521 1
#>
#> Residual deviance: 106.9 (on 102 data points)
#> pD: 60.1
#> DIC: 167
#>
#> Bayesian p-value: 0.57
#>
#> ----------------------------------------------------- Node-split t-PA vs. ASPAC ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net -0.01 0.04 -0.08 -0.04 -0.01 0.01 0.06 6882 3192 1
#> d_dir -0.02 0.04 -0.10 -0.05 -0.02 0.00 0.05 5116 3675 1
#> d_ind 0.02 0.06 -0.09 -0.02 0.02 0.07 0.15 3293 3326 1
#> omega -0.05 0.06 -0.17 -0.09 -0.05 -0.01 0.07 3501 3423 1
#>
#> Residual deviance: 106.9 (on 102 data points)
#> pD: 60.4
#> DIC: 167.3
#>
#> Bayesian p-value: 0.44
#>
#> ------------------------------------------------------ Node-split t-PA vs. PTCA ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net 0.48 0.10 0.28 0.41 0.48 0.55 0.68 4371 3421 1.01
#> d_dir 0.55 0.43 -0.28 0.25 0.54 0.82 1.39 4714 3108 1.00
#> d_ind 0.48 0.11 0.26 0.40 0.47 0.55 0.68 3546 3034 1.00
#> omega 0.07 0.44 -0.78 -0.23 0.06 0.36 0.96 4459 3044 1.00
#>
#> Residual deviance: 106.8 (on 102 data points)
#> pD: 59.6
#> DIC: 166.4
#>
#> Bayesian p-value: 0.89
#>
#> -------------------------------------------------------- Node-split UK vs. t-PA ----
#>
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d_net -0.20 0.22 -0.64 -0.35 -0.20 -0.05 0.24 4050 3437 1
#> d_dir -0.29 0.34 -0.99 -0.51 -0.29 -0.06 0.39 5502 3322 1
#> d_ind -0.15 0.29 -0.72 -0.34 -0.15 0.05 0.40 3833 3204 1
#> omega -0.14 0.45 -1.03 -0.44 -0.14 0.16 0.75 4132 3187 1
#>
#> Residual deviance: 106.7 (on 102 data points)
#> pD: 59.6
#> DIC: 166.2
#>
#> Bayesian p-value: 0.76
Node-splitting the ASPAC vs. Acc t-PA comparison results the lowest DIC, and this is lower than the consistency model. The posterior distribution for the inconsistency factor \(\omega\) for this comparison lies far from 0 and the Bayesian \(p\)-value for inconsistency is small (< 0.01), meaning that there is substantial disagreement between the direct and indirect evidence on this comparison.
We can visually compare the direct, indirect, and network estimates
using the plot()
method.
We can also plot the posterior distributions of the inconsistency
factors \(\omega\), again using the
plot()
method. Here, we specify a “halfeye” plot of the
posterior density with median and credible intervals, and customise the
plot layout with standard ggplot2
functions.
plot(thrombo_nodesplit, pars = "omega", stat = "halfeye", ref_line = 0) +
ggplot2::aes(y = comparison) +
ggplot2::facet_null()
Notice again that the posterior distribution of the inconsistency factor for the ASPAC vs. Acc t-PA comparison lies far from 0, indicating substantial inconsistency between the direct and indirect evidence on this comparison.
Relative effects for all pairwise contrasts between treatments can be
produced using the relative_effects()
function, with
all_contrasts = TRUE
.
(thrombo_releff <- relative_effects(thrombo_fit, all_contrasts = TRUE))
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> d[Acc t-PA vs. SK] -0.18 0.04 -0.26 -0.21 -0.18 -0.15 -0.09 2741 3350 1
#> d[ASPAC vs. SK] 0.02 0.04 -0.06 -0.01 0.02 0.04 0.09 4759 3407 1
#> d[PTCA vs. SK] -0.48 0.10 -0.68 -0.54 -0.48 -0.41 -0.28 4224 3597 1
#> d[r-PA vs. SK] -0.12 0.06 -0.24 -0.16 -0.12 -0.08 -0.01 4124 3378 1
#> d[SK + t-PA vs. SK] -0.05 0.05 -0.15 -0.08 -0.05 -0.02 0.04 6639 3326 1
#> d[t-PA vs. SK] 0.00 0.03 -0.06 -0.02 0.00 0.02 0.06 4463 3091 1
#> d[TNK vs. SK] -0.17 0.08 -0.32 -0.22 -0.17 -0.12 -0.02 4091 3038 1
#> d[UK vs. SK] -0.20 0.22 -0.62 -0.34 -0.20 -0.06 0.22 4556 3292 1
#> d[ASPAC vs. Acc t-PA] 0.19 0.06 0.08 0.16 0.19 0.23 0.30 3357 3353 1
#> d[PTCA vs. Acc t-PA] -0.30 0.10 -0.49 -0.37 -0.30 -0.23 -0.11 5487 3643 1
#> d[r-PA vs. Acc t-PA] 0.05 0.06 -0.05 0.02 0.05 0.09 0.16 6249 2933 1
#> d[SK + t-PA vs. Acc t-PA] 0.13 0.06 0.02 0.09 0.13 0.17 0.24 6088 3327 1
#> d[t-PA vs. Acc t-PA] 0.18 0.05 0.07 0.14 0.18 0.21 0.28 3080 3121 1
#> d[TNK vs. Acc t-PA] 0.01 0.06 -0.12 -0.04 0.01 0.05 0.13 5654 3453 1
#> d[UK vs. Acc t-PA] -0.02 0.22 -0.45 -0.17 -0.03 0.12 0.40 4578 3063 1
#> d[PTCA vs. ASPAC] -0.49 0.11 -0.71 -0.56 -0.49 -0.42 -0.28 4343 3622 1
#> d[r-PA vs. ASPAC] -0.14 0.07 -0.28 -0.19 -0.14 -0.09 0.00 4270 3496 1
#> d[SK + t-PA vs. ASPAC] -0.07 0.06 -0.18 -0.11 -0.06 -0.02 0.05 6404 3289 1
#> d[t-PA vs. ASPAC] -0.01 0.04 -0.09 -0.04 -0.01 0.01 0.06 7805 3544 1
#> d[TNK vs. ASPAC] -0.19 0.08 -0.35 -0.24 -0.19 -0.13 -0.02 4124 2951 1
#> d[UK vs. ASPAC] -0.22 0.22 -0.65 -0.36 -0.22 -0.07 0.21 4728 3259 1
#> d[r-PA vs. PTCA] 0.35 0.11 0.14 0.28 0.35 0.43 0.57 5766 3472 1
#> d[SK + t-PA vs. PTCA] 0.43 0.11 0.22 0.35 0.43 0.50 0.63 5397 3817 1
#> d[t-PA vs. PTCA] 0.48 0.10 0.28 0.41 0.48 0.55 0.68 4154 3498 1
#> d[TNK vs. PTCA] 0.31 0.12 0.08 0.23 0.30 0.38 0.53 6257 3758 1
#> d[UK vs. PTCA] 0.27 0.23 -0.19 0.11 0.27 0.43 0.73 4615 3242 1
#> d[SK + t-PA vs. r-PA] 0.07 0.07 -0.06 0.02 0.07 0.12 0.22 6839 2932 1
#> d[t-PA vs. r-PA] 0.13 0.07 0.00 0.08 0.12 0.17 0.26 4057 3331 1
#> d[TNK vs. r-PA] -0.05 0.08 -0.21 -0.10 -0.05 0.01 0.11 7604 2842 1
#> d[UK vs. r-PA] -0.08 0.22 -0.51 -0.23 -0.08 0.07 0.35 4716 3247 1
#> d[t-PA vs. SK + t-PA] 0.05 0.06 -0.06 0.01 0.05 0.09 0.16 5685 3464 1
#> d[TNK vs. SK + t-PA] -0.12 0.09 -0.29 -0.18 -0.12 -0.07 0.04 6530 3150 1
#> d[UK vs. SK + t-PA] -0.15 0.22 -0.58 -0.29 -0.15 -0.01 0.28 4727 3191 1
#> d[TNK vs. t-PA] -0.17 0.08 -0.33 -0.23 -0.17 -0.12 -0.01 4012 3099 1
#> d[UK vs. t-PA] -0.20 0.22 -0.63 -0.34 -0.21 -0.06 0.21 4714 3193 1
#> d[UK vs. TNK] -0.03 0.23 -0.47 -0.19 -0.03 0.13 0.41 4500 3426 1
plot(thrombo_releff, ref_line = 0)
Treatment rankings, rank probabilities, and cumulative rank probabilities.
(thrombo_ranks <- posterior_ranks(thrombo_fit))
#> mean sd 2.5% 25% 50% 75% 97.5% Bulk_ESS Tail_ESS Rhat
#> rank[SK] 7.45 0.96 6 7 7 8 9 3439 NA 1
#> rank[Acc t-PA] 3.18 0.82 2 3 3 4 5 4266 3613 1
#> rank[ASPAC] 7.96 1.15 5 7 8 9 9 4561 NA 1
#> rank[PTCA] 1.12 0.33 1 1 1 1 2 4043 3044 1
#> rank[r-PA] 4.42 1.15 2 4 5 5 7 5081 3571 1
#> rank[SK + t-PA] 6.00 1.28 4 5 6 6 9 5022 NA 1
#> rank[t-PA] 7.48 1.09 5 7 8 8 9 5092 NA 1
#> rank[TNK] 3.50 1.27 2 3 3 4 6 4599 3260 1
#> rank[UK] 3.89 2.67 1 2 2 5 9 4579 NA 1
plot(thrombo_ranks)
(thrombo_rankprobs <- posterior_rank_probs(thrombo_fit))
#> p_rank[1] p_rank[2] p_rank[3] p_rank[4] p_rank[5] p_rank[6] p_rank[7] p_rank[8]
#> d[SK] 0.00 0.00 0.00 0.00 0.02 0.13 0.39 0.31
#> d[Acc t-PA] 0.00 0.20 0.46 0.28 0.05 0.00 0.00 0.00
#> d[ASPAC] 0.00 0.00 0.00 0.00 0.03 0.10 0.18 0.26
#> d[PTCA] 0.88 0.12 0.00 0.00 0.00 0.00 0.00 0.00
#> d[r-PA] 0.00 0.05 0.14 0.31 0.38 0.09 0.01 0.01
#> d[SK + t-PA] 0.00 0.00 0.01 0.06 0.25 0.44 0.09 0.07
#> d[t-PA] 0.00 0.00 0.00 0.00 0.04 0.15 0.30 0.32
#> d[TNK] 0.00 0.24 0.31 0.25 0.15 0.04 0.01 0.01
#> d[UK] 0.12 0.38 0.07 0.09 0.10 0.05 0.02 0.02
#> p_rank[9]
#> d[SK] 0.15
#> d[Acc t-PA] 0.00
#> d[ASPAC] 0.43
#> d[PTCA] 0.00
#> d[r-PA] 0.01
#> d[SK + t-PA] 0.06
#> d[t-PA] 0.20
#> d[TNK] 0.00
#> d[UK] 0.14
plot(thrombo_rankprobs)
(thrombo_cumrankprobs <- posterior_rank_probs(thrombo_fit, cumulative = TRUE))
#> p_rank[1] p_rank[2] p_rank[3] p_rank[4] p_rank[5] p_rank[6] p_rank[7] p_rank[8]
#> d[SK] 0.00 0.00 0.00 0.00 0.02 0.15 0.54 0.85
#> d[Acc t-PA] 0.00 0.20 0.67 0.95 1.00 1.00 1.00 1.00
#> d[ASPAC] 0.00 0.00 0.00 0.00 0.03 0.13 0.31 0.57
#> d[PTCA] 0.88 1.00 1.00 1.00 1.00 1.00 1.00 1.00
#> d[r-PA] 0.00 0.05 0.19 0.50 0.88 0.97 0.99 0.99
#> d[SK + t-PA] 0.00 0.00 0.02 0.08 0.33 0.77 0.87 0.94
#> d[t-PA] 0.00 0.00 0.00 0.00 0.04 0.19 0.48 0.80
#> d[TNK] 0.00 0.24 0.55 0.80 0.94 0.98 0.99 1.00
#> d[UK] 0.12 0.50 0.57 0.66 0.76 0.81 0.83 0.86
#> p_rank[9]
#> d[SK] 1
#> d[Acc t-PA] 1
#> d[ASPAC] 1
#> d[PTCA] 1
#> d[r-PA] 1
#> d[SK + t-PA] 1
#> d[t-PA] 1
#> d[TNK] 1
#> d[UK] 1
plot(thrombo_cumrankprobs)