Conducts an influence analysis of a meta-analysis generated by `meta`

functions,
and allows to produce influence diagnostic plots.

InfluenceAnalysis(x, random = FALSE, subplot.heights = c(30,18), subplot.widths = c(30,30), forest.lims = 'default', return.separate.plots = FALSE, text.scale = 1)

x | An object of class |
---|---|

random | Logical. Should the random-effects model be used to generate the influence diagnostics?
Uses the |

subplot.heights | Concatenated array of two numerics. Specifies the heights of the
first (first number) and second (second number) row of the overall plot generated when plotting the results.
Default is |

subplot.widths | Concatenated array of two numerics. Specifies the widths of the
first (first number) and second (second number) column of the overall results plot generated when plotting the results.
Default is |

forest.lims | Concatenated array of two numerics. Specifies the x-axis limits of the forest plots
generated when plotting the results. Use |

return.separate.plots | Logical. When plotted, should the influence plots be shown as separate plots in lieu of returning them in one overall plot? |

text.scale | Positive numeric. Scaling factor for the text geoms used when plotting the results. Values <1 shrink the
text, while values >1 increase the text size. Default is |

A `list`

object of class `influence.analysis`

containing the
following objects is returned (if results are saved to a variable):

`BaujatPlot`

: The Baujat plot`InfluenceCharacteristics`

: The Viechtbauer-Cheung influence characteristics plot`ForestEffectSize`

: The forest plot sorted by effect size`ForestI2`

: The forest plot sorted by between-study heterogeneity`Data`

: A`data.frame`

containing the data used for plotting.

Otherwise, the function prints out (1) the results of the Leave-One-Out Analysis (sorted by \(I^2\)),
(2) the Viechtbauer-Cheung Influence Diagnostics and (3) Baujat Plot data (sorted by heterogeneity contribution),
in this order. Plots can be produced manually by plugging a saved object of class `InfluenceAnalysis`

generated by
the function into the `plot`

function. It is also possible to only produce one specific plot by
specifying the name of the plot as a `character`

in the second argument of the `plot`

call (see Examples).

The function conducts an influence analysis using the "Leave-One-Out" paradigm internally
and produces data for four influence diagnostics. Diagnostic plots can be produced by saving the output of the
function to an object and plugging it into the `plot`

function.
These diagnostics may be used to determine which study or effect size
may have an excessive influence on the overall results of a meta-analysis and/or contribute substantially to
the between-study heterogeneity in an analysis. This may be used for outlier detection and to test
the robustness of the overall results found in an analysis. Results for four diagnostics are calculated:

**Baujat Plot**: Baujat et al. (2002) proposed a plot to evaluate heterogeneity patterns in a meta-analysis. The x-axis of the Baujat plot shows the overall heterogeneity contribution of each effect size while the y-axis shows the influence of each effect size on the pooled result. The`baujat`

function is called internally to produce the results. Effect sizes or studies with high values on both the x and y-axis may be considered to be influential cases; effect sizes or studies with high heterogeneity contribution (x-axis) and low influence on the overall results can be outliers which might be deleted to reduce the amount of between-study heterogeneity.**Influence Characteristics**: Several influence analysis diagnostics proposed by Viechtbauer & Cheung (2010). Results are calculated by an internal call to`influence.rma.uni`

. In the console output, potentially influential studies are marked with an asterisk (`*`

). When plotted, effect sizes/studies determined to be influential cases using the "rules of thumb" described in Viechtbauer & Cheung (2010) are shown in red. For further details, see the documentation of the`influence.rma.uni`

function.**Forest Plot for the Leave-One-Out Analysis, sorted by Effect Size**: This displays the effect size and \(I^2\)-heterogeneity when omitting one of the \(k\) studies each time. The plot is sorted by effect size to determine which studies or effect sizes particularly affect the overall effect size. Results are generated by an internal call to`metainf`

.**Forest Plot for the Leave-One-Out Analysis, sorted by \(I^2\)**: see above; results are sorted by \(I^2\) to determine the study for which exclusion results in the greatest reduction of heterogeneity.

Harrer, M., Cuijpers, P., Furukawa, T.A, & Ebert, D. D. (2019).
*Doing Meta-Analysis in R: A Hands-on Guide*. DOI: 10.5281/zenodo.2551803. Chapter 6.3

DerSimonian R. & Laird N. (1986), Meta-analysis in clinical trials. *Controlled Clinical Trials, 7*, 177–188.

Viechtbauer, W., & Cheung, M. W.-L. (2010). Outlier and influence diagnostics for meta-analysis. *Research Synthesis Methods, 1*, 112–125.

if (FALSE) { # Load 'ThirdWave' data data(ThirdWave) # Create 'meta' meta-analysis object suppressPackageStartupMessages(library(meta)) meta = metagen(TE, seTE, studlab = paste(ThirdWave$Author), data=ThirdWave) # Run influence analysis; specify to return separate plots when plotted inf.an = InfluenceAnalysis(meta, return.separate.plots = TRUE) # Show results in console inf.an # Generate all plots plot(inf.an) # For baujat plot plot(inf.an, "baujat") # For influence diagnostics plot plot(inf.an, "influence") # For forest plot sorted by effect size plot(inf.an, "ES") # For forest plot sorted by I-squared plot(inf.an, "I2")}