run_sensitivity {rnmamod}R Documentation

Perform sensitivity analysis for missing participant outcome data

Description

Performs a sensitivity analysis by applying pairwise meta-analysis or network meta-analysis for a series of different scenarios about the informative missingness parameter.

Usage

run_sensitivity(
  full,
  assumption,
  mean_scenarios,
  var_misspar,
  n_chains,
  n_iter,
  n_burnin,
  n_thin,
  inits = NULL
)

Arguments

full

An object of S3 class run_model. See 'Value' in run_model.

assumption

Character string indicating the structure of the informative missingness parameter. Set assumption equal to one of the following two: "HIE-ARM", or "IDE-ARM" (see 'Details'). The default argument is "IDE-ARM". The abbreviations "IDE", and "HIE" stand for identical, and hierarchical, respectively.

mean_scenarios

A vector with numeric values for the mean of the normal distribution of the informative missingness parameter (see 'Details'). The vector should have a length equal to 5 or larger. The missing-at-random (MAR) assumption should be the median of the vector, so that the same number of informative scenarios appear before and after the MAR. The default scenarios are c(-log(3), -log(2), log(0.9999), log(2), log(3)) and c(-2, -1, 0, 1, 2) for binary and continuous outcome data, respectively.

var_misspar

A positive non-zero number for the variance of the normal distribution of the informative missingness parameter. When the measure (defined in run_model) is "OR", "MD", or "SMD" the default argument is 1. When the measure is "ROM", the default argument is 0.04.

n_chains

Integer specifying the number of chains for the MCMC sampling; an argument of the jags function of the R-package R2jags. The default argument is 2.

n_iter

Integer specifying the number of Markov chains for the MCMC sampling; an argument of the jags function of the R-package R2jags. The default argument is 10000.

n_burnin

Integer specifying the number of iterations to discard at the beginning of the MCMC sampling; an argument of the jags function of the R-package R2jags. The default argument is 1000.

n_thin

Integer specifying the thinning rate for the MCMC sampling; an argument of the jags function of the R-package R2jags. The default argument is 1.

inits

A list with the initial values for the parameters; an argument of the jags function of the R-package R2jags. The default argument is NULL, and JAGS generates the initial values.

Details

The model runs in JAGS and the progress of the simulation appears on the R console. The number of times run_sensitivity is used appears on the R console as a text in red and it equals the number of scenarios defined as the square of the length of the vector specified in mean_scenarios (see 'Examples'). The output of run_sensitivity is used as an S3 object by other functions of the package to be processed further and provide an end-user-ready output.

In the case of pairwise meta-analysis, EM and tau are estimated as many times as the number of scenarios considered. In the case of network meta-analysis, each possible pairwise comparison is estimated as many times as the number of scenarios considered.

The informative missingness parameter is assumed to differ only across the interventions of the dataset. Therefore, the user can specify the informative missingness parameter to be arm-specific and identical (assumption = "IDE-ARM"), or arm-specific and hierarchical (assumption = "HIE-ARM") (Spineli et al., 2021).

The length of the vector specified in argument mean_scenarios should be equal to or more than 5 (a positive odd integer) to allow for an adequate number of scenarios. It is important that the number corresponding to the MAR assumption is the middle of the numbers in the vector specified in argument mean_scenarios. The MAR assumption constitutes the primary analysis. Under the informative missingness difference of means parameter (relevant for the raw and standardised mean diffenre), the MAR assumption equals 0. Under the informative missingness odds ratio parameter (IMOR; relevant for the odds ratio) and the informative missingness ratio of means (IMRoM; relevant for the ratio of means) parameter, the MAR assumption equals 1; however, both parameters are analysed in the logarithmic scale. We advise using the value 0.999 rather than 1 in mean_scenarios for the IMOR and IMRoM parameters; otherwise, the execution of the function will be stopped and the error 'Invalid parent values' will be printed on the R console.

Currently, there are no empirically-based prior distributions for the informative missingness parameters. The users may refer to Spineli (2019), Mavridis et al. (2015), Turner et al. (2015), and White et al. (2008) to determine mean_scenarios for an informative missingness mechanism and select a proper value for var_misspar.

run_sensitivity inherits the arguments data, measure, model, heter_prior, D, indic, base_risk, and ref from run_model (now contained in the argument full). This prevents specifying a different Bayesian model from that considered in the primary analysis (via run_model)–an exception in the assumption argument as it is restricted to only two character strings. Therefore, the user needs first to apply run_model, and then use run_sensitivity (see 'Examples').

The run_sensitivity function also returns the arguments measure, scenarios, D, heter, n_chains, n_iter, n_burnin, and n_thin as specified by the user to be inherited by other relevant functions of the package.

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_sensitivity can be used only when missing participant outcome data have been extracted for at least one trial. Otherwise, the execution of the function will be stopped and an error message will be printed on the R console.

Value

A list of R2jags outputs on the summaries of the posterior distribution, and the Gelman-Rubin convergence diagnostic (Gelman et al., 1992) of the following monitored parameters for a random-effects pairwise meta-analysis:

EM

The estimated summary effect measure (according to the argument measure defined in run_model).

EM_LOR

The estimated summary odd ratio in the logarithmic scale when measure = "RR" or measure = "RD".

tau

The between-trial standard deviation. This element does not appear in the case of a fixed-effect pairwise meta-analysis.

In a random-effects network meta-analysis, EM refer to all possible pairwise comparisons of interventions in the network. Furthermore, tau is typically assumed to be common for all observed comparisons in the network.

Author(s)

Loukia M. Spineli

References

Gelman, A, Rubin, DB. Inference from iterative simulation using multiple sequences. Stat Sci 1992;7(4):457–72. doi: 10.1214/ss/1177011136

Mavridis D, White IR, Higgins JP, Cipriani A, Salanti G. Allowing for uncertainty due to missing continuous outcome data in pairwise and network meta-analysis. Stat Med 2015;34(5):721–41. doi: 10.1002/sim.6365

Spineli LM, Kalyvas C, Papadimitropoulou K. Quantifying the robustness of primary analysis results: A case study on missing outcome data in pairwise and network meta-analysis. Res Synth Methods 2021;12(4):475–90. doi: 10.1002/jrsm.1478

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

Turner NL, Dias S, Ades AE, Welton NJ. A Bayesian framework to account for uncertainty due to missing binary outcome data in pairwise meta-analysis. Stat Med 2015;34(12):2062–80. doi: 10.1002/sim.6475

White IR, Higgins JP, Wood AM. Allowing for uncertainty due to missing data in meta-analysis–part 1: two-stage methods. Stat Med 2008;27(5):711–27. doi: 10.1002/sim.3008

See Also

autojags, jags, run_model

Examples

data("pma.taylor2004")

# Read results from 'run_model' (using the default arguments)
res <- readRDS(system.file('extdata/res_taylor.rds', package = 'rnmamod'))


# Perform the sensitivity analysis (default arguments)
# Note: Ideally, set 'n_iter' to 10000 and 'n_burnin' to 1000
run_sensitivity(full = res,
                assumption = "IDE-ARM",
                var_misspar = 1,
                n_chains = 3,
                n_iter = 1000,
                n_burnin = 100,
                n_thin = 5)



[Package rnmamod version 0.4.0 Index]