Psychotherapies for Generalized Anxiety Disorder
A living database of randomized controlled trials — filter the evidence and run a full meta-analysis online.
Additional Information
This online meta-analysis tool allows you to explore a simplified version of the “Generalized Anxiety Disorder: Psychotherapy vs. Control” dataset. The code used to simplify the data for this application can be downloaded here.
This database is maintained by a researcher team led by Davide Papola (Harvard Medical School, University of Verona).
Select outcome
Choose which outcome domain to analyze. Only studies reporting that outcome will appear on the next step.
In this step you choose which of three outcome variables to analyze: generalized anxiety disorder (GAD) symptoms, anxiety symptoms, or worrying.
Not all studies in the database report all outcome variables. Once you select an outcome, only studies reporting that outcome appear in the data table. All filters on the next step apply only to those studies. You can return here at any time to select a different outcome.
Select your data
Apply filters to choose trials for your meta-analysis. All trials are selected by default — refine on the right, the table updates automatically, then Run meta-analysis.
Meta-analysis results
Results for the trials you selected. Use the tabs below for pooled effects, plots, outliers, publication bias, risk of bias and moderators.
This tab shows you the results of the meta-analysis conducted for your selected data. In the window below, you can switch from one panel to another to see various results, including the main effect size and heterogeneity, the forest plot, results of outlier analyses, publication bias analyses and moderator analyses.
By default, the web application automatically makes a few decisions concerning the analysis settings. These can be seen below under "Analysis Settings". By default, the application uses a Random-Effects Pooling Model for your meta-analysis. This is nearly always the correct choice when analyzing data in mental health research. In addition, the Paule-Mandel estimator is used by default to calculate the between-study heterogeneity. However, when clicking on the dropdown menu "Pooling Model", you can see that there are various estimators available when assuming a Random-Effects (RE) model. Sometimes, the choice of the between-study heterogeneity estimator can have an impact on the pooled results, and not every estimator is optimal under all circumstances. If you want to learn more about this, you can consult Harrer, Cuijpers, Furukawa & Ebert, 2020. It is also possible to calculate effects using a Fixed-Effect Model; but this model should only be used if you have good reasons for applying it.
Under "Analyzed Moderators", the moderating variables which are currently inspected in meta-regression/subgroup analyses in the "Moderator Analysis" tab are shown. By default, the publication year is used for a meta-regression on your selected data, and the country/region of a study is used as a subgroup analysis. You can easily add more moderator analyses by clicking on the white box. A dropdown will then appear, showing more variables which are available. You can then add those variables by clicking on them. It is also possible to remove variables: again click on the white box and use the backspace ← key.
By default, the application also uses Knapp-Hartung adjustments to calculate the confidence interval for your meta-analysis result. It is possible to disable this method by unchecking the "Use Knapp-Hartung Adjustments" checkbox. You can learn more about this method in Harrer, Cuijpers, Furukawa & Ebert, 2020.
Finally, after you have completed the reconfiguration of your meta-analysis settings, simply click the "Re-run Meta-Analysis" button. This will recalculate the results of your meta-analysis using the new settings you have provided. Please note that the reanalysis may take some time before it is finished.
A random-effects meta-analysis does not assume that every study shares one identical true effect. Instead, the true effects are assumed to be normally distributed. This chart shows that assumed distribution: a bell curve centred on the pooled estimate, whose width is the between-study standard deviation (τ). A wider curve means more heterogeneity between studies.
The thick vertical line marks the pooled overall effect (Hedges’ g). The shaded area under the curve is its 95% confidence interval — the range of plausible values for the average true effect.
The two short solid lines in the tails mark the 95% prediction interval: the range in which the true effect of a future, comparable study would be expected to fall.
The vertical line at 0 is the point of no effect. If the effect and its intervals lie clearly to one side of it, the intervention has a consistent direction of effect.
Individual studies with extreme effects can distort a pooled result and inflate heterogeneity. This is a sensitivity analysis: studies flagged as statistical outliers — those whose 95% confidence interval does not overlap the confidence interval of the pooled effect — are removed, and the meta-analysis is re-run on the remaining studies.
The numbers show the pooled effect and heterogeneity after removing outliers, and the list shows which studies were removed (with their effect sizes).
The chart compares the true-effect distribution with outliers removed (coloured) against the original analysis (grey). If the two are similar, the result is robust to outliers; if they differ markedly, the pooled effect is sensitive to a few extreme studies and should be interpreted with caution.
The Baujat plot helps identify studies that have a disproportionate impact on the meta-analysis.
The horizontal axis shows each study’s contribution to the overall heterogeneity; the vertical axis shows its influence on the pooled effect (how much the result changes when the study is removed).
Studies in the top-right corner are both major sources of heterogeneity and highly influential — these are the most important to inspect when judging how robust your findings are.
A funnel plot plots each study's effect against its precision (standard error). Without bias, studies scatter symmetrically around the pooled effect, forming an inverted funnel — smaller, less precise studies scatter more widely toward the bottom.
Asymmetry (a gap in one bottom corner) can signal publication bias — e.g. small studies with non-significant results going unpublished — though it can also reflect genuine heterogeneity or chance.
The shaded contours mark conventional significance regions (p < .05, .025, .01), which help judge whether any missing studies would fall in non-significant areas.
Egger's regression test quantifies the asymmetry by testing whether the regression intercept differs from zero. A significant intercept (p < .05) indicates asymmetry. Interpret with caution when few studies are included.
A p-curve examines the distribution of the statistically significant p-values (p < .05) across your studies to judge whether they hold evidential value — a genuine effect — or mainly reflect selective reporting / p-hacking.
If a true effect exists, significant p-values cluster near .01 (the curve is right-skewed). With no effect, they are uniform (flat). If results were pushed just past significance, the curve is left-skewed (piling up near .05).
Your observed curve is compared against two references: the null of no effect (flat, 20% per bin) and the null of 33% power.
Evidential value present means the observed curve is significantly right-skewed. Evidential value inadequate means it is flatter than expected even from studies with 33% power. The power estimate approximates the average statistical power of the significant studies.
Subgroup Analysis
About this web app
This application was developed by researchers at the Vrije Universiteit Amsterdam, The Netherlands, the Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany, and the Technical University Munich, Germany. The data are based on a meta-analytic database maintained by a researcher team that is led by Davide Papola (Harvard Medical School, University of Verona).
More details about the development of this database can be read in a published paper.
Detailed documentation of the “Generalized Anxiety Disorder: Psychotherapy vs. Control” database can be found here ↗.
How the analyses are computed
This web application is an interface to the Metapsy meta-analytic database. It runs on a Shiny server that accesses the database, enables data downloads, and performs all computations using established meta-analytic methods from the meta (Balduzzi, Rücker & Schwarzer, 2019) and dmetar (Harrer, Cuijpers, Furukawa & Ebert, 2020) R packages.
- Pooling. The
metagen()function performs the meta-analytic pooling. By default, the Restricted Maximum-Likelihood estimator estimates the between-study variance τ2 in a random-effects model. Before pooling, effect sizes are aggregated to the study level usingaggregate.escalc()frommetafor(Viechtbauer, 2010), assuming a within-study correlation of ρ = 0.5, so that studies contributing several (correlated) comparisons are not counted multiple times in the pooled effect. - Number Needed to Treat. Computed with the method of Furukawa & Leucht (2011), assuming a Control Event Rate (CER) of 0.19 (derived from Cuijpers et al., 2014).
- Subgroup analyses.
subgroup.analysis.mixed.effects()implements a mixed-effects model: effects within subgroups are pooled under a random-effects model, and subgroups are compared under a fixed-effect model. - Forest plots. Generated with
forest()frommeta. - Outliers.
find.outliers()(fromdmetar) removes studies whose 95% CI lies fully outside the 95% CI of the pooled effect. For smaller analyses (k ≤ 50), a Baujat plot (Baujat et al., 2002) is drawn withbaujat(). - Publication bias. Egger’s test via
eggers.test(), and a p-curve viapcurve(). - Risk of bias. Summarised with
rob.summary()fromdmetar, using RoB 2 domain ratings.
The metapsyData R package
Access the Metapsy meta-analytic databases directly in R.
The metapsyData package lets you access the Metapsy meta-analytic psychotherapy databases — including the “Generalized Anxiety Disorder: Psychotherapy vs. Control” database powering this app — directly in your R environment.
Installation
if (!require("devtools"))
install.packages("devtools")
devtools::install_github("metapsy-project/metapsyData")
Usage
Once installed, run getData() to load a database locally. Databases are referenced by their identifier; this app uses "gad-psyctr":
library(metapsyData)
library(dplyr)
d <- getData("gad-psyctr")
glimpse(d$data)
#> Rows: 126
#> Columns: 78
#> $ study <chr> "Alavi, 2020", "Andersson, 2012", "Andersson, 2012"…
#> $ condition_arm1 <chr> "cbt", "cbt", "dyn", "cbt", "dyn", "cbt", "dyn", "c…
#> $ condition_arm2 <chr> "cau", "wl", "wl", "wl", "wl", "wl", "wl", "other c…
#> $ outcome_domain <chr> "gen anx", "worry", "worry", "GAD", "GAD", "gen anx…
#> $ instrument <chr> "BAI", "PSWQ", "PSWQ", "GAD-Q-IV", "GAD-Q-IV", "BAI…
#> $ year <dbl> 2020, 2012, 2012, 2012, 2012, 2012, 2012, 2007, 200…
#> $ format <chr> "gsh", "gsh", "gsh", "gsh", "gsh", "gsh", "gsh", "i…
#> $ age_group <chr> "adul", "adul", "adul", "adul", "adul", "adul", "ad…
#> $ recruitment <chr> "com", "com", "com", "com", "com", "com", "com", "c…
#> $ ROB <chr> "some concerns", "high risk", "high risk", "high ri…
The raw data files can also be browsed in the GitHub repository ↗ under data, and the full package documentation is hosted on rdrr.io ↗.
Citation
Run citation("metapsyData") to retrieve the current citation:
Harrer, M., Ebert, D. D., Karyotaki, E., & Cuijpers, P. (2022).
metapsyData: Access the Meta-Analytic Psychotherapy Database.
R package version 0.1.0. DOI: 10.5281/zenodo.5171880.