
Correct the effect size for publication bias/small-study effects
Source:R/correctPublicationBias.R
correctPublicationBias.RdThis function allows to add effect sizes estimates corrected for publication bias/
small-study effects to results of the runMetaAnalysis function.
Usage
correctPublicationBias(model,
which.run = model$which.run[1],
lower.is.better = NULL,
selmodelSteps = 0.05,
...)Arguments
- model
An object of class
runMetaAnalysis, created by therunMetaAnalysisfunction.- which.run
The model in
modelthat should be used for the publication bias analyses. Uses the first model inmodelif no value is specified by the user. Possible values are"overall","combined","lowest","highest","outliers","influence"and"rob".- lower.is.better
Only used for the selection model. Should significant negative (
TRUE) or significant positive (FALSE) effects be assumed to be favored for publication? This refers to the sign of the effect size in the data, not to the scale of the outcome measure. If set toNULL(default), the direction is determined by the sign of the pooled effect in the selected model. A warning is issued if the provided value contradicts the sign of the pooled effect.- selmodelSteps
Thresholds to be assumed for the step function in the selection model. Must be a vector of numbers referring to the cut-points in the selection models. If two-sided testing is assumed for the included studies, the cut-point must be doubled to obtain the assumed p-value (e.g.
selmodelSteps = c(0.03, 0.05)means that p=0.06 and p=0.10 are assumed as selection thresholds). The default is0.05.- ...
Additional arguments. See trimfill.default and limitmeta.
Value
Returns an object of class "runMetaAnalysis" and "correctPublicationBias".
This object includes all original objects included in model, but adds a list object
with the name correctPublicationBias. This list object includes all three fitted publication
bias analysis models, as well as the generated results.
Details
The correctPublicationBias function is a wrapper running three meta-analytic
methods to control the pooled effect size for publication bias and/or small-study effects:
"trimfill". Applies Duval and Tweedie's (2000a, 2000b) trim-and-fill algorithm, using the trimfill method in themetapackage."limitmeta". Runs a limit meta-analysis as described in Rücker et al. (2011), using the limitmeta function in themetasenspackage."selection". Runs a step function selection model using the selmodel function inmetafor. For details see e.g. Vevea and Hedges (1995). The cut-points inselmodelStepsrefer to one-sided p-values. Selection models are not estimated for event rates (es.measure = "EER"or"CER"), for which selection on significance is not a meaningful assumption.
If the selected model is a fixed-effect ("common effect") model (method.tau = "FE"), the trim-and-fill and
selection model are also fitted assuming a fixed effect. The limit meta-analysis is
based on a random-effects model by definition.
References
Duval S & Tweedie R (2000a): A nonparametric "Trim and Fill" method of accounting for publication bias in meta-analysis. Journal of the American Statistical Association, 95, 89–98
Duval S & Tweedie R (2000b): Trim and Fill: A simple funnel-plot-based method of testing and adjusting for publication bias in meta-analysis. Biometrics, 56, 455–63
Rücker G, Schwarzer G, Carpenter JR, Binder H, Schumacher M (2011): Treatment-effect estimates adjusted for small-study effects via a limit meta-analysis. Biostatistics, 12, 122–42
Vevea, J. L., & Hedges, L. V. (1995). A general linear model for estimating effect size in the presence of publication bias. Psychometrika, 60(3), 419–435. https://doi.org/10.1007/BF02294384
Author
Mathias Harrer mathias.h.harrer@gmail.com, Paula Kuper paula.r.kuper@gmail.com, Pim Cuijpers p.cuijpers@vu.nl
Examples
if (FALSE) { # \dontrun{
data("depressionPsyCtr")
depressionPsyCtr %>%
checkDataFormat() %>%
checkConflicts() %>%
calculateEffectSizes() %>%
filterPoolingData(condition_arm1 %in% c("cbt", "pst")) %>%
runMetaAnalysis() -> res
# Correct for small-study-effects/publication bias
res %>% correctPublicationBias()
# Use additional arguments to control settings of the trim-and-fill
# and limit meta-analysis
correctPublicationBias(res,
which.run = "combined",
type = "R",
method.adjust = "mulim")
# Generate plots
correctPublicationBias(res) %>% plot("trimfill")
correctPublicationBias(res) %>% plot("limitmeta")
correctPublicationBias(res) %>% plot("selection")
# Returned object is of class "runMetaAnalysis"; therefore,
# all S3 methods are available:
res <- res %>% correctPublicationBias()
metaRegression(res$model.overall, ~country)
} # }