Learn R Programming

altmeta (version 2.2)

metaoutliers: Outlier Detection in Meta-Analysis

Description

Calculates the standardized residual for each study in meta-analysis using the methods desribed in Hedges and Olkin (1985) Chapter 12 and Viechtbauer and Cheung (2010). A study is considered as an outlier if its standardized residual is greater than 3 in absolute magnitude.

Usage

metaoutliers(y, s2, model)

Arguments

y

a numeric vector indicating the observed effect sizes in the collected studies; they are assumed to be normally distributed.

s2

a numeric vector indicating the within-study variances.

model

a character string specified as either "FE" or "RE". If model = "FE", this function uses the outlier detection procedure for fixed-effect meta-analysis desribed in Hedges and Olkin (1985) Chapter 12; If model = "RE", the procedure for random-effects meta-analysis desribed in Viechtbauer and Cheung (2010) is used. See Details for the two approaches. If the argument model is not specified, this function sets model = "FE" if \(I_r^2 < 30\%\) and sets model = "RE" if \(I_r^2 \geq 30\%\).

Value

This functions returns a list which contains standardized residuals and identified outliers. A study is considered as an outlier if its standardized residual is greater than 3 in absolute magnitude.

Details

Suppose that a meta-analysis collects \(n\) studies. The observed effect size in study \(i\) is \(y_i\) and its within-study variance is \(s^{2}_{i}\). Also, the inverse-variance weight is \(w_i = 1 / s^{2}_{i}\).

Hedges and Olkin (1985) Chapter 12 describes the outlier detection procedure for fixed-effect meta-analysis (model = "FE"). Using the studies except study \(i\), the pooled estimate of overall effect size is \(\bar{\mu}_{(-i)} = \sum_{j \neq i} w_j y_j / \sum_{j \neq i} w_j\). The residual of study \(i\) is \(e_{i} = y_i - \bar{\mu}_{(-i)}\). The variance of \(e_{i}\) is \(v_{i} = s_{i}^{2} + (\sum_{j \neq i} w_{j})^{-1}\), so the standardized residual of study \(i\) is \(\epsilon_{i} = e_{i} / \sqrt{v_{i}}\).

Viechtbauer and Cheung (2010) describes the outlier detection procedure for random-effects meta-analysis (model = "RE"). Using the studies except study \(i\), let the method-of-moments estimate of between-study variance be \(\hat{\tau}_{(-i)}^{2}\). The pooled estimate of overall effect size is \(\bar{\mu}_{(-i)} = \sum_{j \neq i} \tilde{w}_{(-i)j} y_j / \sum_{j \neq i} \tilde{w}_{(-i)j}\), where \(\tilde{w}_{(-i)j} = 1/(s_{j}^{2} + \hat{\tau}_{(-i)}^{2})\). The residual of study \(i\) is \(e_{i} = y_i - \bar{\mu}_{(-i)}\), and its variance is \(v_{i} = s_{i}^2 + \hat{\tau}_{(-i)}^{2} + (\sum_{j \neq i} \tilde{w}_{(-i)j})^{-1}\). Then, the standardized residual of study \(i\) is \(\epsilon_{i} = e_{i} / \sqrt{v_{i}}\).

References

Hedges LV and Olkin I (1985). Statistical Method for Meta-Analysis. Academic Press, Orlando, FL.

Viechtbauer W and Cheung MWL (2010). "Outlier and influence diagnostics for meta-analaysis." Research Synthesis Methods, 1(2), 112--125.

Examples

Run this code
# NOT RUN {
data("aex")
attach(aex)
metaoutliers(y, s2, model = "FE")
metaoutliers(y, s2, model = "RE")
detach(aex)

data("hipfrac")
attach(hipfrac)
metaoutliers(y, s2)
detach(hipfrac)
# }

Run the code above in your browser using DataLab