Learn R Programming

altmeta (version 4.1)

metaoutliers: Outlier Detection in Meta-Analysis

Description

Calculates the standardized residual for each study in meta-analysis using the methods desribed in Chapter 12 in Hedges and Olkin (1985) 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, data, model)

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.

Arguments

y

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

s2

a numeric vector specifying the within-study variances.

data

an optional data frame containing the meta-analysis dataset. If data is specified, the previous arguments, y and s2, should be specified as their corresponding column names in data.

model

a character string specified as either "FE" or "RE". If model = "FE", this function uses the outlier detection procedure for the fixed-effect meta-analysis desribed in Chapter 12 in Hedges and Olkin (1985); If model = "RE", the procedure for the 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\%\).

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}\).

Chapter 12 in Hedges and Olkin (1985) describes the outlier detection procedure for the fixed-effect meta-analysis (model = "FE"). Using the studies except study \(i\), the pooled estimate of the 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 the random-effects meta-analysis (model = "RE"). Using the studies except study \(i\), let the method-of-moments estimate of the between-study variance be \(\hat{\tau}_{(-i)}^{2}\). The pooled estimate of the 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, Olkin I (1985). Statistical Method for Meta-Analysis. Academic Press, Orlando, FL.

Viechtbauer W, Cheung MWL (2010). "Outlier and influence diagnostics for meta-analysis." Research Synthesis Methods, 1(2), 112--125. <tools:::Rd_expr_doi("10.1002/jrsm.11")>

Examples

Run this code
data("dat.aex")
metaoutliers(y, s2, dat.aex, model = "FE")
metaoutliers(y, s2, dat.aex, model = "RE")

data("dat.hipfrac")
metaoutliers(y, s2, dat.hipfrac)

Run the code above in your browser using DataLab