              ********************************************
              ** META-ANALYSIS: COMBINATION OF P-VALUES **
              ********************************************

Combination of significance tests.
It can be a useful procedure if only probabilities (pvalues)
are available for meta-analysis. Also, Rosenthal&Rubin suggest that the
p-value for an overall correlation coefficient should be calculated
pooling the p-values of each correlation coefficient.

Example data set:
(taken from: www.euronet.nl/users/warnar/demostatistiek/meth/metaanalyse.htm)

Effect of a drug treatment on systolic blood pressure (fictitious data):
    Experimental group      Control group         One-tailed P-value
A  mean=130; sd=15; n=10  mean=140; sd=20; n= 5       0.1662
B  mean=120; sd=12; n=40  mean=140; sd=15; n=20       0.0000023
C  mean=140; sd=20; n=30  mean=150; sd=25; n=30       0.0456
D  mean=160; sd=20; n=40  mean=145; sd=35; n=20       0.0398 --> 0.9602

The pvalues to be combined must be one-tailed, and if any of them goes on
the opposite direction, then it has to reversed (real pvalue=1-pvalue);
this happens with trial D of the above example: it showed a significant
effect (pvalue=0.0398) in the opposite direction of the 3 others.

The syntax needs the pvalues to be combined and a weighting variable,
usually total sample sizes (as in this example), but a quality score
can also assigned to each pvalue and used as weight. If no weights are
going to be assigned, then use '1' in order to make the syntax work OK.

Results have been tested with the Meta program (by R Schwarzer)
and Combine (from PEPI v4, by JH Abramson & PM Gahlinger).

FORMULAE 

Notation:
  - k : Nr of tests being combined
  - pi: pvalue for trial i
  - wi: sample size (or any weight assigned to each pvalue)

Several methods of obtaining a combined p-value are given:

A) Fisher's Chi-square:
   Chi-square(df=2k) = -2Sum[ln(pi)]

B) Mudholkar & George's t:
   t(df=5k+4)=-sqrt((15k+12)/((5k+2)k(3.14159265^2))Sum[ln(pi/(1-pi))]

C) Stouffer's overall Z:
   p-values are first converted to Zi
   pi ---> Zi (COMPUTE zscore = IDF.NORMAL(1-pvals,0,1))

  1) Unweighted:
     Overall Z=Sum(Zi)/sqrt(k)
     The overall Z is then back transformed into an overall P
     Z  ---> p
     - Rosenthal's Fail-safe N are obtained by:
       FSN=(Sum(Zi)/A)^2-k
        A=1.645 for alfa=0.05
        A=2.326 for alfa=0.01
     - Iyengar & Greenhouse's Worst case FSN
       (results may be significant in the opposite direction):
       FSNWC=[-B-sqrt(B^2-4*A*C)]/2*A
       For alfa=0.05
        . A=0.01177
        . B=-0.217*Sum(Zi)-2.70554
        . C=(Sum(Zi))^2-2.70554*k
       For alfa=0.01
        . A=0.0007236
        . B=-0.0538*Sum(Zi)-5.4119
        . C=(Sum(Zi))^2-5.4119*k

  2) Weighted by weighting factors directly (Liptak-Stouffer method):
     Z=Sum(wi*Zi)/Sqrt(Sum(wi^2))

  3) Weighted by square roots of weighting factors:
     Z=Sum(sqrt(wi)*Zi)/Sqrt(Sum(wi))

   Rosenthal's effect size -r- (if sample sizes are entered): 
   For any Stouffer's Z value, r=(Overall Z)/sqrt(n)
   Weighted or unweighted Z can be used.

BESD:

To help give intuitive meaning to an effect size you can present a Binomial Effect Size Display (BESD),
presented in Rosenthal and Rubin (1982). This index presents the proportion of cases (or people) who
succeed in the experimental group and the proportion that succeed in the control group.

The BESD counters the tendency for people to trivialize small effects. For example, a researcher might
conclude that an correlation of .2 is small because it accounts for only 4% of the variance. The BESD
allows you to realize that, nonetheless, people's success rates would be 20% higher in the experimental
group than in the control group.

When the response variable is continuous you must dichotomize it at the median to interpret this index.
You would then conclude that a person would have a probability of .5+r/2 of being above average in
the experimental group and a probability of .5-r/2 of being above average in the control group.
