baseCode.math.metaanalysis
Class CorrelationEffectMetaAnalysis

java.lang.Object
  extended bybaseCode.math.metaanalysis.MetaAnalysis
      extended bybaseCode.math.metaanalysis.CorrelationEffectMetaAnalysis

public class CorrelationEffectMetaAnalysis
extends MetaAnalysis

Implementation of meta-analysis of correlations along the lines of chapter 18 of Cooper and Hedges, "Handbook of Research Synthesis". Both fixed and random effects models are supported, with z-transformed or untransformed correlations.


Copyright (c) 2004 Columbia University

Version:
$Id: CorrelationEffectMetaAnalysis.java,v 1.8 2005/03/21 18:01:03 pavlidis Exp $
Author:
pavlidis

Constructor Summary
CorrelationEffectMetaAnalysis()
           
CorrelationEffectMetaAnalysis(boolean fixed, boolean transform)
           
 
Method Summary
protected  double fisherTransformedSamplingVariance(double sampleSize)
          Equation 18-8 from CH.
protected  cern.colt.list.DoubleArrayList fisherTransformedSamplingVariances(cern.colt.list.DoubleArrayList sampleSizes)
          Run equation CH 18-8 on a list of sample sizes.
 double getBsv()
           
 double getE()
           
 double getN()
           
 double getP()
           
 double getQ()
           
 double getV()
           
 double getZ()
           
 double run(cern.colt.list.DoubleArrayList effects, cern.colt.list.DoubleArrayList sampleSizes)
          Following CH section 2.2.
protected  double samplingVariance(double r, double numsamples)
          Equation 18-10 from CH.
protected  cern.colt.list.DoubleArrayList samplingVariances(cern.colt.list.DoubleArrayList effectSizes, cern.colt.list.DoubleArrayList sampleSizes)
          Run equation CH 18-10 on a list of sample sizes and effects.
 void setFixed(boolean fixed)
           
 void setTransform(boolean transform)
           
 
Methods inherited from class baseCode.math.metaanalysis.MetaAnalysis
fisherCombineLogPvalues, fisherCombinePvalues, metaFEWeights, metaRESampleVariance, metaREVariance, metaREWeights, metaVariance, metaVariance, metaZscore, qStatistic, qTest, weightedMean, weightedMean
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CorrelationEffectMetaAnalysis

public CorrelationEffectMetaAnalysis(boolean fixed,
                                     boolean transform)

CorrelationEffectMetaAnalysis

public CorrelationEffectMetaAnalysis()
Method Detail

run

public double run(cern.colt.list.DoubleArrayList effects,
                  cern.colt.list.DoubleArrayList sampleSizes)
Following CH section 2.2.

There are four possible cases (for now):

  1. Fixed effects, Z-transformed. Weights are computed using CH eqns 18-8 and 18-3
  2. Fixed effects, untransformed. Weights are computed using CH eqns 18-10 and 18-3
  3. Random effects, Z-transformed. Weights are computed using CH eqns 18-20, 18-8 with 18-3
  4. Random effects, untransformed. Weights are computed using CH eqns 18-10, 18-20, 18-24.
The default is untransformed, fixed effects.

Parameters:
sampleSizes -
Returns:
p-value. The p-value is also stored in the field p.

samplingVariance

protected double samplingVariance(double r,
                                  double numsamples)
Equation 18-10 from CH. For untransformed correlations.

 v_i = ( 1 - r_i ˆ 2 ) ˆ 2 / ( n_i - 1 )
 

I added a regularization to this, so that we don't get ridiculous variances when correlations are close to 1 (this happens). If the correlation is very close to 1 (or -1), we fudge it to be a value less close to 1 (e.g., 0.999)

Parameters:
r -
Returns:

samplingVariances

protected cern.colt.list.DoubleArrayList samplingVariances(cern.colt.list.DoubleArrayList effectSizes,
                                                           cern.colt.list.DoubleArrayList sampleSizes)
Run equation CH 18-10 on a list of sample sizes and effects.

Parameters:
effectSizes -
sampleSizes -
Returns:
See Also:
samplingVariance

fisherTransformedSamplingVariance

protected double fisherTransformedSamplingVariance(double sampleSize)
Equation 18-8 from CH. For z-transformed correlations.
 v_i = 1 / ( n_i - 3 )
 

Returns:

fisherTransformedSamplingVariances

protected cern.colt.list.DoubleArrayList fisherTransformedSamplingVariances(cern.colt.list.DoubleArrayList sampleSizes)
Run equation CH 18-8 on a list of sample sizes.

Parameters:
sampleSizes -
Returns:

setFixed

public void setFixed(boolean fixed)

setTransform

public void setTransform(boolean transform)

getP

public double getP()

getQ

public double getQ()

getZ

public double getZ()

getE

public double getE()

getV

public double getV()

getN

public double getN()

getBsv

public double getBsv()


Copyright © 2003-2005 Columbia University. All Rights Reserved.