This function performs a Bayesian meta-analysis to jointly combine different types of studies. The random-effects follows a finite mixture of normal distributions.
bcmeta(
data,
mean.mu.theta = 0,
sd.mu.theta = 10,
scale.sigma.between = 0.5,
df.scale.between = 1,
B.lower = 0,
B.upper = 10,
a.0 = 1,
a.1 = 1,
nu = 0.5,
nu.estimate = FALSE,
b.0 = 1,
b.1 = 2,
preclassification = "right",
inits = NULL,
nr.chains = 2,
nr.iterations = 10000,
nr.adapt = 1000,
nr.burnin = 1000,
nr.thin = 1,
parallel = NULL
)This function returns an object of the class "bcmeta". This object contains the MCMC output of each parameter and hyper-parameter in the model and the data frame used for fitting the model.
A data frame with at least two columns with the following names: 1) TE = treatment effect, 2) seTE = the standard error of the treatment effect.
Prior mean of the overall mean parameter mu, default value is 0.
Prior standard deviation of mu, the default value is 10.
Prior scale parameter for scale gamma distribution for the precision between studies. The default value is 0.5.
Degrees of freedom of the scale gamma distribution for the precision between studies. The default value is 1, which results in a Half Cauchy distribution for the standard deviation between studies. Larger values e.g. 30 corresponds to a Half Normal distribution.
Lower bound of the bias parameter B, the default value is 0.
Upper bound of the bias parameter B, the default value is 10.
Parameter for the prior Beta distribution for the probability of bias. Default value is a0 = 1.
Parameter for the prior Beta distribution for the probability of bias. Default value is a1 = 1.
Parameter for the Beta distribution for the quality weights. The default value is nu = 0.5.
If TRUE, then we estimate nu from the data.
If nu.estimate = TRUE, this parameter is the shape parameter of the prior Gamma distribution for nu.
If nu.estimate = TRUE, this parameter is the rate parameter of the prior Gamma distribution for nu. Note that E(nu) = b.0/b.1 and we need to choose b.0 << b.1.
Controls optional pre-classification of the latent
bias indicators I. The argument can be:
NULL: No pre-classification. All I[i] are estimated.
"right": Weak pre-classification to the right.
The study with the largest observed effect is fixed as biased
(I = 1) and the study with the smallest observed effect
is fixed as unbiased (I = 0).
"left": Weak pre-classification to the left.
The study with the smallest observed effect is fixed as biased
(I = 1) and the study with the largest observed effect
is fixed as unbiased (I = 0).
A numeric vector of length N (number of studies including
the prediction row), containing values 0, 1, or
NA. Here, 1 indicates biased, 0 indicates
unbiased, and NA indicates that the study’s bias status
should be estimated.
If inits is provided, preclassification is ignored and
all I[i] are treated as stochastic nodes initialized by
inits.
Optional initial values for MCMC chains, passed to jags or jags.parallel. Default is NULL.
Number of chains for the MCMC computations, default 2.
Number of iterations after adapting the MCMC, default is 10000. Some models may need more iterations.
Number of iterations in the adaptation process, defualt is 1000. Some models may need more iterations during adptation.
Number of iteration discared for burnin period, default is 1000. Some models may need a longer burnin period.
Thinning rate, it must be a positive integer, the default value 1.
NULL -> jags, 'jags.parallel' -> jags.parallel execution
The results of the object of the class bcmeta can be extracted with R2jags or with rjags. In addition a summary, a print and a plot functions are implemented for this type of object.
Verde, P. E. (2017) Two Examples of Bayesian Evidence Synthesis with the Hierarchical Meta-Regression Approach. Chap.9, pag 189-206. Bayesian Inference, ed. Tejedor, Javier Prieto. InTech.
Verde, P.E. (2021) A Bias-Corrected Meta-Analysis Model for Combining Studies of Different Types and Quality. Biometrical Journal; 1–17.
if (FALSE) {
library(jarbes)
# Example ppvipd data
data(ppvipd)
}
Run the code above in your browser using DataLab