View source: R/runMetaAnalysis.R
runMetaAnalysis | R Documentation |
This wrapper function allows to simultaneously pool effect sizes using different meta-analytic approaches.
runMetaAnalysis(data, which.run = c("overall", "combined", "lowest.highest", "outliers", "influence", "rob", "threelevel", "threelevel.che"), method.tau = "REML", hakn = TRUE, study.var = "study", extra.grouping.var = NULL, arm.var.1 = "Cond_spec_trt1", arm.var.2 = "Cond_spec_trt2", measure.var = "Outc_measure", es.var = "es", se.var = "se", low.rob.filter = "rob > 2", method.tau.ci = "Q-Profile", round.digits = 2, which.outliers = c("general", "combined"), which.influence = c("general", "combined"), which.rob = c("general", "combined"), nnt.cer = 0.2, rho.within.study = 0.5, use.rve = TRUE, html = TRUE, ...)
data |
|
which.run |
|
method.tau |
|
hakn |
|
study.var |
|
extra.grouping.var |
|
arm.var.1 |
|
arm.var.2 |
|
measure.var |
|
es.var |
|
se.var |
|
low.rob.filter |
|
method.tau.ci |
|
round.digits |
|
which.outliers |
|
which.influence |
|
which.rob |
|
nnt.cer |
|
rho.within.study |
|
use.rve |
|
html |
|
... |
Additional arguments. |
The runMetaAnalysis
function is a wrapper for several types of meta-analytic models
that are typically used. It allows to run all of these models in one step in order to generate results
that are somewhat closer to being "publication-ready".
By default, the following models are calculated:
"overall"
. Runs a generic inverse-variance (random-effects) model. All included
effect sizes are treated as independent.
"combined"
. Pools all effect sizes within one study (defined by study.var
) before
pooling. This ensures that all effect sizes are independent (i.e., unit-of-analysis error &
double-counting is avoided). To combine the effects, one has to assume a correlation of effect sizes
within studies, empirical estimates of which are typically not available.
"lowest.highest"
. Runs a meta-analysis, but with only (i) the lowest and (ii) highest
effect size within each study included.
"outlier"
. Runs a meta-analysis without statistical outliers (i.e. effect sizes for which
the confidence interval does not overlap with the confidence intervall of the overall effect).
"influence"
. Runs a meta-analysis without influential cases (see influence.rma.uni
for
details).
"rob"
. Runs a meta-analysis with only low-RoB studies included.
"threelevel"
. Runs a multilevel (three-level) meta-analysis model, with effect sizes nested
in studies.
"threelevel.che"
. Runs a multilevel (three-level) meta-analysis model, with effect sizes nested
in studies. Variance-covariance matrices of each study with two or more effect sizes are estimated using
rho.within.study
as the assumed overall within-study correlation. This imputation allows to run a "correlated and
hierarchical effects" (CHE) model, which is typically a good approximation for data sets with unknown and/or
complex dependence structures.
For more details see the help vignette: vignette("metapsyTools")
.
Returns an object of class "runMetaAnalysis"
. This object includes, among other things,
a data.frame
with the name summary
, in which all results are summarized - including the
studies which were removed for some analysis steps. Other objects are the "raw" model objects returned
by all selected analysis types. This allows to conduct further operations on some models specifically (e.g.
run a meta-regression by plugging one of the model objects in update.meta
.
Mathias Harrer mathias.h.harrer@gmail.com, Paula Kuper paula.r.kuper@gmail.com, Pim Cuijpers p.cuijpers@vu.nl
calculateEffectSizes
## Not run: data("inpatients") library(meta) inpatients %>% checkDataFormat() %>% checkConflicts() %>% expandMultiarmTrials() %>% calculateEffectSizes() -> data # Run the meta-analyses runMetaAnalysis(data) -> res # Show summary res # Show forest plot (by default, "general" is used) plot(res) # Show forest plot of specific analysis plot(res, "outliers") plot(res, "threelevel") plot(res, "baujat") plot(res, "influence") plot(res, "lowest.highest") # Extract specific model and do further calculations # (e.g. meta-regression on 'year') metareg(res$model.overall, ~year) # For the combined analysis, use provide an extra variable # so that different treatment arm comparisons in multiarm trials are NOT pooled data("psyCtrSubsetWide") psyCtrSubsetWide %>% checkDataFormat() %>% checkConflicts() %>% expandMultiarmTrials() %>% calculateEffectSizes() %>% filterPoolingData(year > 2010) %>% runMetaAnalysis(extra.grouping.var = "Cond_spec_trt1") ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.