run_nodesplit {rnmamod} | R Documentation |
Perform the node-splitting approach
Description
Performs the Bayesian node-splitting approach of Dias et al. (2010) extended to address aggregate binary and continuous missing participant outcome data via the pattern-mixture model (Spineli et al., 2021; Spineli, 2019). This model offers a local evaluation of the plausibility of the consistency assumption in the network (Dias et al., 2010).
Usage
run_nodesplit(full, n_chains, n_iter, n_burnin, n_thin, inits = NULL)
Arguments
full |
|
n_chains |
Positive integer specifying the number of chains for the
MCMC sampling; an argument of the |
n_iter |
Positive integer specifying the number of Markov chains for the
MCMC sampling; an argument of the |
n_burnin |
Positive integer specifying the number of iterations to
discard at the beginning of the MCMC sampling; an argument of the
|
n_thin |
Positive integer specifying the thinning rate for the
MCMC sampling; an argument of the |
inits |
A list with the initial values for the parameters; an argument
of the |
Details
run_nodesplit
inherits the arguments data
,
measure
, model
, assumption
, heter_prior
,
mean_misspar
, var_misspar
, ref
, and indic
from
run_model
(now contained in the argument full
).
This prevents specifying a different Bayesian model from that considered
in run_model
. Therefore, the user needs first to apply
run_model
, and then use run_nodesplit
(see 'Examples').
For a binary outcome, when measure
is "RR" (relative risk) or "RD"
(risk difference) in run_model
, run_nodesplit
currently performs node-splitting using the odds ratio as effect measure
for being the base-case effect measure in run_model
for a binary outcome (see also 'Details' in run_model
).
To perform the Bayesian node-splitting approach, the
prepare_nodesplit
function is called which contains the
WinBUGS code as written by Dias et al. (2010) for binomial and normal
likelihood to analyse binary and continuous outcome data, respectively.
prepare_nodesplit
has been extended to incorporate the
pattern-mixture model with informative missingness parameters for binary
and continuous outcome data (see 'Details' in run_model
).
run_nodesplit
runs the Bayesian node-splitting approach in
JAGS
. The progress of the simulation appears on the R console. The
number of times run_nodesplit
is used appears on the R console as a
text in red and it equals the number of split nodes (see 'Examples').
If there are no split nodes in the network, the execution of the function
will be stopped and an error message will be printed on the R console.
The model is updated until convergence using the
autojags
function of the R-package
R2jags with 2 updates and
number of iterations and thinning equal to n_iter
and n_thin
,
respectively.
run_nodesplit
uses the
mtc.nodesplit.comparisons
function of the R-package
gemtc
to obtain automatically the nodes to split based on the decision rule of
van Valkenhoef et al. (2016).
run_nodesplit
uses the option (1) in van Valkenhoef et al. (2016)
to parameterise multi-arm trials that contain the node-to-split.
In contrast,
mtc.nodesplit.comparisons
uses the option (3) in van Valkenhoef et al. (2016).
Option (1) keeps the baseline arm of the node-to-split in the corresponding
multi-arms. Option (3) excludes both arms of the node-to-split from the
corresponding multi-arm trials.
The output of run_nodesplit
is not end-user-ready.
The nodesplit_plot
function inherits the output of
run_nodesplit
as an S3 object and processes it further to provide an
end-user-ready output.
run_nodesplit
can be used only for a network of interventions.
In the case of two interventions, the execution of the function will
be stopped and an error message will be printed on the R console.
Value
An R2jags output on the summaries of the posterior distribution, and the Gelman-Rubin convergence diagnostic of the following monitored parameters:
direct |
The summary effect measure (according to the argument
|
indirect |
The indirect summary effect measure (according to the
argument |
diff |
The inconsistency parameter for each split node defined as the difference between the direct and indirect effect of the corresponding split node. |
tau |
The between-trial standard deviation after each split node, when the random-effects model has been specified. |
Furthermore, the output includes the following element:
model_assessment |
A data-frame on the measures of model assessment after each split node: deviance information criterion, total residual deviance, and number of effective parameters. |
Author(s)
Loukia M. Spineli
References
Dias S, Welton NJ, Caldwell DM, Ades AE. Checking consistency in mixed treatment comparison meta-analysis. Stat Med 2010;29(7-8):932–44. doi: 10.1002/sim.3767
Gelman A, Rubin DB. Inference from iterative simulation using multiple sequences. Stat Sci 1992;7(4):457–72. doi: 10.1214/ss/1177011136
Spineli LM, Kalyvas C, Papadimitropoulou K. Continuous(ly) missing outcome data in network meta-analysis: a one-stage pattern-mixture model approach. Stat Methods Med Res 2021;30(4):958–75. doi: 10.1177/0962280220983544
Spineli LM. An empirical comparison of Bayesian modelling strategies for missing binary outcome data in network meta-analysis. BMC Med Res Methodol 2019;19(1):86. doi: 10.1186/s12874-019-0731-y
van Valkenhoef G, Dias S, Ades AE, Welton NJ. Automated generation of node-splitting models for assessment of inconsistency in network meta-analysis. Res Synth Methods 2016;7(1):80–93. doi: 10.1002/jrsm.1167
See Also
autojags
,
jags
,
mtc.nodesplit.comparisons
,
nodesplit_plot
, prepare_nodesplit
,
run_model
Examples
data("nma.baker2009")
# Read results from 'run_model' (using the default arguments)
res <- readRDS(system.file('extdata/res_baker.rds', package = 'rnmamod'))
# Run random-effects node-splitting approach
# Note: Ideally, set 'n_iter' to 10000 and 'n_burnin' to 1000
run_nodesplit(full = res,
n_chains = 3,
n_iter = 1000,
n_burnin = 100,
n_thin = 1)