meta_bma | R Documentation |
Fits random- and fixed-effects meta-analyses and performs Bayesian model averaging for H1 (d != 0) vs. H0 (d = 0).
meta_bma(
y,
SE,
labels,
data,
d = prior("cauchy", c(location = 0, scale = 0.707)),
tau = prior("invgamma", c(shape = 1, scale = 0.15)),
rscale_contin = 0.5,
rscale_discrete = 0.707,
centering = TRUE,
prior = c(1, 1, 1, 1),
logml = "integrate",
summarize = "stan",
ci = 0.95,
rel.tol = .Machine$double.eps^0.3,
logml_iter = 5000,
silent_stan = TRUE,
...
)
y |
effect size per study. Can be provided as (1) a numeric vector, (2)
the quoted or unquoted name of the variable in |
SE |
standard error of effect size for each study. Can be a numeric
vector or the quoted or unquoted name of the variable in |
labels |
optional: character values with study labels. Can be a
character vector or the quoted or unquoted name of the variable in
|
data |
data frame containing the variables for effect size |
d |
|
tau |
|
rscale_contin |
scale parameter of the JZS prior for the continuous covariates. |
rscale_discrete |
scale parameter of the JZS prior for discrete moderators. |
centering |
whether continuous moderators are centered. |
prior |
prior probabilities over models (possibly unnormalized) in the
order |
logml |
how to estimate the log-marginal likelihood: either by numerical
integration ( |
summarize |
how to estimate parameter summaries (mean, median, SD,
etc.): Either by numerical integration ( |
ci |
probability for the credibility/highest-density intervals. |
rel.tol |
relative tolerance used for numerical integration using
|
logml_iter |
number of iterations (per chain) from the posterior
distribution of |
silent_stan |
whether to suppress the Stan progress bar. |
... |
further arguments passed to |
Bayesian model averaging for four meta-analysis models: Fixed- vs.
random-effects and H0 (d=0
) vs. H1 (e.g., d>0
).
For a primer on Bayesian model-averaged meta-analysis,
see Gronau, Heck, Berkhout, Haaf, and Wagenmakers (2020).
By default, the log-marginal likelihood is computed by numerical integration
(logml="integrate"
). This is relatively fast and gives precise,
reproducible results. However, for extreme priors or data (e.g., very small
standard errors), numerical integration is not robust and might provide
incorrect results. As an alternative, the log-marginal likelihood can be
estimated using MCMC/Stan samples and bridge sampling (logml="stan"
).
To obtain posterior summary statistics for the average effect size d
and the heterogeneity parameter tau
, one can also choose between
numerical integration (summarize="integrate"
) or MCMC sampling in Stan
(summarize="stan"
). If any moderators are included in a model, both
the marginal likelihood and posterior summary statistics can only be computed
using Stan.
Gronau, Q. F., Erp, S. V., Heck, D. W., Cesario, J., Jonas, K. J., & Wagenmakers, E.-J. (2017). A Bayesian model-averaged meta-analysis of the power pose effect with informed and default priors: the case of felt power. Comprehensive Results in Social Psychology, 2(1), 123-138. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1080/23743603.2017.1326760")}
Gronau, Q. F., Heck, D. W., Berkhout, S. W., Haaf, J. M., & Wagenmakers, E.-J. (2021). A primer on Bayesian model-averaged meta-analysis. Advances in Methods and Practices in Psychological Science, 4(3), 1–19. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1177/25152459211031256")}
Berkhout, S. W., Haaf, J. M., Gronau, Q. F., Heck, D. W., & Wagenmakers, E.-J. (2023). A tutorial on Bayesian model-averaged meta-analysis in JASP. Behavior Research Methods.
meta_fixed, meta_random
### Bayesian Model-Averaged Meta-Analysis (H1: d>0)
data(towels)
set.seed(123)
mb <- meta_bma(logOR, SE, study, towels,
d = prior("norm", c(mean = 0, sd = .3), lower = 0),
tau = prior("invgamma", c(shape = 1, scale = 0.15))
)
mb
plot_posterior(mb, "d")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.