umbrella: Conduct the calculations for an umbrella review

umbrellaR Documentation

Conduct the calculations for an umbrella review

Description

This function performs various calculations needed for an umbrella review.

Usage

umbrella(
  x,
  method.var = "REML",
  mult.level = FALSE,
  r = 0.5,
  method.esb = "TESSPSST",
  true_effect = "UWLS",
  pre_post_cor = NA,
  seed = NA,
  verbose = TRUE
)

Arguments

x

a well-formatted dataset.

method.var

the estimator used to quantify the between-study variance in the random-effects meta-analysis. Default is the Restricted Likelihood Maximum ("REML") estimator. Alternatively, DerSimonian and Laird "DL", Hartung-Knapp-Sidik-Jonkman "hksj" (applies a Hartung-Knapp-Sidik-Jonkman adjustment on the results of a "DL" estimator), maximum-likelihood "ML" or Paule-Mandel "PM" estimators can be used. A fixed-effect meta-analysis can be obtained by indicated the method.var = "FE" argument.

mult.level

a logical variable indicating the presence of multiple effect sizes per study in at least one factor of the umbrella review. Default is FALSE (i.e., each study of all factors include only one effect size). If mult.level = TRUE is specified, the Borenstein's methods are used to generate only one effect size per study. See metaumbrella-package for more information.

r

a correlation coefficient indicating the strength of the association between multiple outcomes (or time-points) within the same study. The r value is applied to all studies with a "outcomes" value in the reverse_es column that have no indication of correlation in the well-formatted dataset. Default is 0.5.

method.esb

the method used to conduct the excess of statistical significance test. It must be "IT.binom", "IT.chisq", "PSST", "TESS" or "TESSPSST" (see details). Default is TESSPSST.

true_effect

the method to estimate the true effect in the test for excess significance. It must be "largest", "UWLS", "pooled" or a numeric value (see details). Default is "UWLS".

pre_post_cor

The value of the correlation coefficient between baseline and follow-up scores in pre-post studies. If your umbrella review includes pre-post controlled studies, you should indicate the mean pre-post correlation across groups. Only needed when using the SMC measure.

seed

an integer value used as an argument by the set.seed() function. Only used for the "IT.binom" and "IT.chisq" tests for excess significance with ratios (i.e., “OR”, “RR”, “IRR” or their logarithm) as effect size measures.

verbose

a logical variable indicating whether text outputs and messages should be generated. We recommend turning this option to FALSE only after having carefully read all the generated messages.

Details

This function automatically performs calculations allowing to stratify evidence according to various criteria. For each factor included in a well-formatted dataset, this function automatically:

  • performs fixed- or random-effects meta-analyses.

  • provides an estimation of the between-study variance and heterogeneity using three indicators (tau^2, Q-statistic and I^2 statistic).

  • estimates the 95% prediction interval (if the number of studies is equal or larger to 3).

  • provides an identification of the statistical significance of the largest study included in the meta-analysis.

  • provides an assessment of publication bias using the Egger's test (if the number of studies is equal or larger to 3).

  • provides an assessment of excess significance using various methods.

  • performs a jackknife leave-one-out meta-analysis (if the number of studies is equal or larger to 2).

  • calculates the proportion of participants included in studies at low risk of bias (if study quality is indicated in the dataset).

A specificity of the umbrella() function is that it does not include arguments to specify the name of the columns of the dataset used as input. Instead, the function requires users to prepare a dataset that meets fixed rules. Details on how building this well-formatted dataset are given in the metaumbrella-package section of this manual. A vignette also provides a step-by-step tutorial. Moreover, examples of well-formatted datasets are available as data distributed along with the package (see df.OR, df.OR.multi, df.R, df.SMC,df.SMD, df.RR, df.HR, df.IRR).

When estimating the test for excess significance, the umbrella() function must assume a best approximation of the true effect. The true_effect argument can be used to select the method that will be applied to estimate the true effect.

  • If "largest" is entered, the true effect size is assumed to be equal to the effect size of the largest study included in the meta-analysis.

  • If "pooled" is entered, the true effect size is assumed to be equal to the meta-analytic pooled effect size.

  • If "UWLS" is entered, the true effect size is assumed to be equal to unrestricted weighted least squares weighted average.

  • If a numeric value is entered, the true effect size is assumed to be equal to the value entered by the user (note that the value of ratios must be in their natural scale).

Last, this function performs a statistical test to determine whether the observed number of statistically significant studies is higher than expected given the mean statistical power. The method.esb argument can be used to select the test. Details on each method can be found in the esb.test section.

Value

The umbrella() function returns an object of class “umbrella”, which is a list containing information required for stratifying the evidence. This list contains, for each factor included in the umbrella review:

factor the name of the factor analyzed.
measure the measure of the effect used to perform the calculations.
x the data used to conduct the meta-analysis. Note that these data may be
slightly different from the raw data introduced.
x_multi the original data when there is a multivariate structure.
Note that these data may be slightly different from the raw data introduced.
x_shared a dataframe allowing to visualize adjustments made when a shared_nexp
or shared_controls correction is requested
(see metaumbrella-package for more information).
n the overall number of studies, cases and controls.
method.var the estimator used for fitting the random effects meta-analyses
ma_results pooled effect size, p-value and 95% confidence interval and prediction
interval of the meta-analysis.
largest 95% confidence interval of the largest study.
heterogeneity tau^2, I^2 and results of the Q-test.
egger estimate and p-value of the Egger's test for publication bias.
esb results of the test for excess significance bias. See
esb.test() for more information.
riskofbias percentage of participants in studies at low risk of bias.
amstar AMSTAR score obtained by the meta-analysis.
evidence evidence class according to some criteria.

The functions print and summary may be used to print the details or a summary of the results.

References

Fusar-Poli, P., Radua, J. (2018). Ten simple rules for conducting umbrella reviews. Evidence-Based Mental Health, 21, 95–100.
Radua, J., Ramella-Cravaro, V., Ioannidis, J.P.A., Reichenberg, A., Phiphopthatsanee, N., Amir, T., Yenn Thoo, H., Oliver, D., Davies, C., Morgan, C., McGuire, P., Murray, R.M., Fusar-Poli, P. (2018) What causes psychosis? An umbrella review of risk and protective factors. World Psychiatry, 17, 49–66.

See Also

metaumbrella-package for the formatting of well-formatted datasets
add.evidence() for stratifying the evidence in an umbrella review
forest() for drawing a forest plot of the factors included in an umbrella review
subset.umbrella() for retrieving a subset of the factors included in an umbrella review
union.umbrella() for combining the factors included in two umbrella reviews

Examples


### Perform an umbrella review with random-effects meta-analyses
### with a Hartung-Knapp-Sidik-Jonkman estimator
umb <- umbrella(df.IRR, method.var = "hksj")

### obtain the results of the calculations in a dataframe
summary(umb)

### manually inspect the results of the umbrella review calculations for the 'Smoking' factor
### included in the dataset.
umb$Smoking

### Perform a meta-analysis with multilevel data, assuming a correlation of 0.8
### between all outcomes of the same study
umb.multi <- umbrella(df.OR.multi, mult.level = TRUE, r = 0.8)

### obtain a stratification of the evidence according to the Ioannidis classification
add.evidence(umb.multi, criteria = "Ioannidis")


metaumbrella documentation built on Nov. 7, 2023, 1:06 a.m.