Learn R Programming

altmeta (version 4.1)

mvma.hybrid.bayesian: Bayesian Hybrid Model for Random-Effects Multivariate Meta-Analysis

Description

Performs a multivariate meta-analysis using the Bayesian hybrid random-effects model when the within-study correlations are unknown.

Usage

mvma.hybrid.bayesian(ys, vars, data, n.adapt = 1000, n.chains = 3,
                     n.burnin = 10000, n.iter = 10000, n.thin = 1,
                     data.name = NULL, traceplot = FALSE, coda = FALSE)

Value

This functions produces posterior estimates and Gelman and Rubin's potential scale reduction factor, and it generates several files that contain trace plots (if traceplot = TRUE), and MCMC posterior samples (if coda = TRUE) in users' working directory. In these results, mu represents the overall effect sizes, tau represents the between-study variances, R contains the elements of the correlation matrix, and theta represents the angle parameters (see "Details").

Arguments

ys

an n x p numeric matrix containing the observed effect sizes. The n rows represent studies, and the p columns represent the multivariate endpoints. NA is allowed for missing endpoints.

vars

an n x p numeric matrix containing the observed within-study variances. The n rows represent studies, and the p columns represent the multivariate endpoints. NA is allowed for missing endpoints.

data

an optional data frame containing the multivariate meta-analysis dataset. If data is specified, the previous arguments, ys and vars, should be specified as their corresponding column names in data.

n.adapt

the number of iterations for adaptation in the Markov chain Monte Carlo (MCMC) algorithm. The default is 1,000. This argument and the following n.chains, n.burnin, n.iter, and n.thin are passed to the functions in the package rjags.

n.chains

the number of MCMC chains. The default is 3.

n.burnin

the number of iterations for burn-in period. The default is 10,000.

n.iter

the total number of iterations in each MCMC chain after the burn-in period. The default is 10,000.

n.thin

a positive integer specifying thinning rate. The default is 1.

data.name

a character string specifying the data name. This is used in the names of the generated files that contain results. The default is NULL.

traceplot

a logical value indicating whether to save trace plots for the overall effect sizes and between-study standard deviations. The default is FALSE.

coda

a logical value indicating whether to output MCMC posterior samples. The default is FALSE.

Details

Suppose \(n\) studies are collected in a multivariate meta-analysis on a total of \(p\) endpoints. Denote the \(p\)-dimensional vector of effect sizes as \(\boldsymbol{y}_i\), and their within-study variances form a diagonal matrix \(\mathbf{D}_i\). However, the within-study correlations are unknown. Then, the random-effects hybrid model is as follows (Riley et al., 2008; Lin and Chu, 2018): $$\boldsymbol{y}_i \sim N (\boldsymbol{\mu}, (\mathbf{D}_i + \mathbf{T})^{1/2} \mathbf{R} (\mathbf{D}_i + \mathbf{T})^{1/2}),$$ where \(\boldsymbol{\mu}\) represents the overall effect sizes across studies, \(\mathbf{T} = diag(\tau_1^2, \ldots, \tau_p^2)\) consists of the between-study variances, and \(\mathbf{R}\) is the marginal correlation matrix. Although the within-study correlations are unknown, this model accounts for both within- and between-study correlations by using the marginal correlation matrix.

Uniform priors \(U (0, 10)\) are specified for the between-study standard deviations \(\tau_j\) (\(j = 1, \ldots, p\)). The correlation matrix can be written as \(\mathbf{R} = \mathbf{L} \mathbf{L}^\prime\), where \(\mathbf{L} = (L_{ij})\) is a lower triangular matrix with nonnegative diagonal elements. Also, \(L_{11} = 1\) and for \(i = 2, \ldots, p\), \(L_{ij} = \cos \theta_{i2}\) if \(j = 1\); \(L_{ij} = (\prod_{k = 2}^{j} \sin \theta_{ik}) \cos \theta_{i, j + 1}\) if \(j = 2, \ldots, i - 1\); and \(L_{ij} = \prod_{k = 2}^{i} \sin \theta_{ik}\) if \(j = i\) (Lu and Ades, 2009; Wei and Higgins, 2013). Here, \(\theta_{ij}\)'s are angle parameters for \(2 \leq j \leq i \leq p\), and \(\theta_{ij} \in (0, \pi)\). Uniform priors are specified for the angle parameters: \(\theta_{ij} \sim U (0, \pi)\).

References

Lin L, Chu H (2018), "Bayesian multivariate meta-analysis of multiple factors." Research Synthesis Methods, 9(2), 261--272. <tools:::Rd_expr_doi("10.1002/jrsm.1293")>

Lu G, Ades AE (2009). "Modeling between-trial variance structure in mixed treatment comparisons." Biostatistics, 10(4), 792--805. <tools:::Rd_expr_doi("10.1093/biostatistics/kxp032")>

Riley RD, Thompson JR, Abrams KR (2008), "An alternative model for bivariate random-effects meta-analysis when the within-study correlations are unknown." Biostatistics, 9(1), 172--186. <tools:::Rd_expr_doi("10.1093/biostatistics/kxm023")>

Wei Y, Higgins JPT (2013). "Bayesian multivariate meta-analysis with multiple outcomes." Statistics in Medicine, 32(17), 2911--2934. <tools:::Rd_expr_doi("10.1002/sim.5745")>

See Also

mvma, mvma.bayesian, mvma.hybrid

Examples

Run this code
# \donttest{
data("dat.pte")
set.seed(12345)
## increase n.burnin and n.iter for better convergence of MCMC
out <- mvma.hybrid.bayesian(ys = dat.pte$y, vars = (dat.pte$se)^2,
  n.adapt = 1000, n.chains = 3, n.burnin = 100, n.iter = 100,
  n.thin = 1, data.name = "Pterygium")
out
# }

Run the code above in your browser using DataLab