Skip to content

Meta-Analyisis on Correlations

3 messages · Sebastian Stegmann, Bernd Weiss, Mike Cheung

#
Dear R-Community,

I'm currently trying to find a way to conduct a meta-analysis in R. 
I would like to analyze data from mostly-cross-sectional survey-studies. The
effect sizes would be correlations.

The R packages "meta" and "rmeta" are, as far as I can see, set up for
analysis with effect sizes for differences (i.e. comparison of the
means/odds-ratios of experimental and control group). 

Only the function "metagen" from the "meta"-package looks like it would work
with correlations. The problem here: One would need to know the standard
error of the correlation. The SE is not usually reported in the studies I
have (only means, SDs and Alphas for the single variables). So the SE would
have to be calculated somehow... But maybe "metagen" is the wrong function
to start with in the first place?

I'm wondering whether there might be anyone knowing how to conduct a
meta-analysis based on correlations in R? 

Thanks in advance
Sebastian

P.S.: Of course, I'm dreaming of such a step-by-step-script like the
absolutely marvellous ones provided by Bliese for multilevel-analysis in R
:-)

---------
Dipl.-Psych. Sebastian Stegmann
Managing Editor, British Journal of Management
Goethe University
Institute of Psychology
Department of Social Psychology
Kettenhofweg 128
60054 Frankfurt am Main
Germany
http://www.sozialpsychologie.uni-Frankfurt.de/
Phone: +49 (0) 69 / 798-23078
Fax:   +49 (0) 69 / 798-22384
#
Sebastian Stegmann schrieb:

[...]
Dear Sebastian,

Have a look at the psychometric package which is capable of doing 
meta-analysis of correlations.

In most cases you use Fisher-z transformed correlation coefficients. For 
that purpose, the psychometric package offers the function r2z().

Given that you know the number of cases N, the standard error can be 
easily computed as se_z = sqrt(1/(N-3)) (see also 
<http://rss.acs.unt.edu/Rdoc/library/psychometric/html/SEz.html>).

Once you have computed Fisher's-z transformed r's and appropriate 
standard errors, it shouldn't be a problem to use the metagen-function.

However be aware that the psychometric package does not use Fisher's-z 
transformed effect sizes when computing an overall effect size (as far 
as I have understood checking the source of rbar() ... which is somewhat 
strange... Mmmh).

A quick replication of Hedges/Olkin's (1985) analysis (p. 231f; z_total 
= 0.469) revealed that metagen's computations are correct:


library(meta)
library(psychometric)

## table 2, p. 232
n <- c(20,30,27,42,49,12,17,35,38,40)
r <- c(0.41,0.53,0.51,0.43,0.37,0.39,0.45,0.40,0.36,0.52)

z <- r2z(r)
se.z <- 1/sqrt((n-3))

metagen(TE = z, seTE = se.z)

[... some output omitted ...]

                                        95%-CI      z  p.value
Fixed effect model   0.4686  [0.3515; 0.5857] 7.8415 < 0.0001
Random effects model 0.4686  [0.3515; 0.5857] 7.8415 < 0.0001
Feel free to ask if you have any further questions.

Bernd


Hedges, Larry V., und Ingram Olkin, 1985: Statistical Methods for 
Meta-Analysis. Orlando: Academic Press.