<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>FAQ/CombiningPvalues</title><revhistory><revision><revnumber>40</revnumber><date>2015-09-15 14:38:28</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>39</revnumber><date>2015-09-15 14:37:41</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>38</revnumber><date>2013-05-08 14:03:06</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>37</revnumber><date>2013-03-08 10:17:24</date><authorinitials>localhost</authorinitials><revremark>converted to 1.6 markup</revremark></revision><revision><revnumber>36</revnumber><date>2013-01-29 11:25:09</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>35</revnumber><date>2013-01-29 11:22:41</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>34</revnumber><date>2013-01-29 10:46:30</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>33</revnumber><date>2013-01-29 10:46:05</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>32</revnumber><date>2013-01-29 10:45:40</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>31</revnumber><date>2008-06-02 14:39:50</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>30</revnumber><date>2008-06-02 10:06:23</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>29</revnumber><date>2008-06-02 10:05:56</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>28</revnumber><date>2008-05-15 12:16:40</date><authorinitials>IanNimmoSmith</authorinitials></revision><revision><revnumber>27</revnumber><date>2008-05-15 12:15:52</date><authorinitials>IanNimmoSmith</authorinitials></revision><revision><revnumber>26</revnumber><date>2008-04-25 11:39:17</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>25</revnumber><date>2008-04-24 15:51:13</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>24</revnumber><date>2008-04-24 14:45:01</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>23</revnumber><date>2008-04-24 14:43:10</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>22</revnumber><date>2008-04-24 14:41:53</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>21</revnumber><date>2008-04-24 14:40:54</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>20</revnumber><date>2008-04-24 14:38:38</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>19</revnumber><date>2008-04-24 14:11:27</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>18</revnumber><date>2008-04-24 14:09:01</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>17</revnumber><date>2008-04-24 13:33:10</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>16</revnumber><date>2008-04-24 10:53:51</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>15</revnumber><date>2008-04-24 10:53:27</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>14</revnumber><date>2008-04-24 10:51:23</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>13</revnumber><date>2008-04-24 10:51:03</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>12</revnumber><date>2008-04-24 09:39:25</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>11</revnumber><date>2008-04-24 09:38:21</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>10</revnumber><date>2008-04-24 09:36:54</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>9</revnumber><date>2008-04-24 09:36:28</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>8</revnumber><date>2008-04-23 16:23:42</date><authorinitials>PeterWatson</authorinitials></revision><revision><revnumber>7</revnumber><date>2008-04-18 16:51:40</date><authorinitials>IanNimmoSmith</authorinitials></revision><revision><revnumber>6</revnumber><date>2008-04-18 16:50:28</date><authorinitials>IanNimmoSmith</authorinitials></revision><revision><revnumber>5</revnumber><date>2008-02-11 16:57:47</date><authorinitials>IanNimmoSmith</authorinitials></revision><revision><revnumber>4</revnumber><date>2008-02-11 16:48:28</date><authorinitials>IanNimmoSmith</authorinitials></revision><revision><revnumber>3</revnumber><date>2008-02-11 16:47:21</date><authorinitials>IanNimmoSmith</authorinitials></revision><revision><revnumber>2</revnumber><date>2008-02-11 16:45:45</date><authorinitials>IanNimmoSmith</authorinitials></revision><revision><revnumber>1</revnumber><date>2008-02-11 16:38:46</date><authorinitials>IanNimmoSmith</authorinitials></revision></revhistory></articleinfo><section><title>Combining p-values by Stouffer's (preferred) and Fisher's (legacy) methods</title><section><title>Combining p-values by Stouffer's method</title><para>The following MATLAB code may be used to perform Stouffer's method. </para><screen><![CDATA[function pcomb = stouffer(p)
% Stouffer et al's (1949) unweighted method for combination of 
% independent p-values via z's 
    if length(p)==0
        error('pfast was passed an empty array of p-values')
        pcomb=1;
    else
        pcomb = (1-erf(sum(sqrt(2) * erfinv(1-2*p))/sqrt(2*length(p))))/2;
    end]]></screen><para>Note the below performs Stouffer's method in R assuming p-values are entered into a vector p e.g. p &lt;- c(0,1,0.2,0.01). </para><screen><![CDATA[erf <- function(x) 2 * pnorm(2 * x/ sqrt(2)) - 1
erfinv <- function(x) qnorm( (x+1)/2 ) / sqrt(2)
pcomb <- function(p) (1-erf(sum(sqrt(2) * erfinv(1-2*p))/sqrt(2*length(p))))/2
pl <- NA
pl <- length(p)
{ if (is.na(pl)) { res <- "There was an empty array of p-values"} 
else 
res <- pcomb(p) }
print(res)]]></screen><para>A <ulink url="https://lsr-wiki-01.mrc-cbu.cam.ac.uk/statswiki/FAQ/CombiningPvalues/statswiki/FAQ/CombiningPvalues?action=AttachFile&amp;do=get&amp;target=combinedp.xls">spreadsheet</ulink> can also be used to compute Fisher's and Stouffer's combined p. </para></section><section><title>Combining p-values by Fisher's method</title><para>The basic idea is that if $$p_i (i=1 \ldots n)$$ are the one-sided $$p$$-values for $$n$$ independent statistics then $$-2 \sum\log(p_i)$$ is a $$\chi^2(2n)$$ statistic which reflects whether the combined $$p$$-values are smaller than would be expected if they were Uniform(0,1) variates. </para><para>The following MATLAB code evaluates this statistic and its p-value. </para><screen><![CDATA[function p = pfast(p)
% Fisher's (1925) method for combination of independent p-values
% Code adapted from Bailey and Gribskov (1998)
    product=prod(p);
    n=length(p);
    if n<=0
        error('pfast was passed an empty array of p-values')
    elseif n==1
        p = product;
        return
    elseif product == 0
        p = 0;
        return
    else
        x = -log(product);
        t=product;
        p=product;
        for i = 1:n-1
            t = t * x / i;
            p = p + t;
        end
    end  ]]></screen><para>Let's try it out: </para><screen><![CDATA[>> pvals=[0.1 0.01 0.01 0.7 0.3 0.1];
>> pfast(pvals)
]]><![CDATA[
ans =
]]><![CDATA[
    0.0021]]></screen><para>I.e. the combined p-value is 0.0021 for this array of 6 $$p$$-values. </para><para>Further investigations suggest that Fisher's method has inappropriate behaviour. [examples to be included] </para><para>This method may also be performed using <ulink url="https://lsr-wiki-01.mrc-cbu.cam.ac.uk/statswiki/FAQ/CombiningPvalues/statswiki/FAQ/Rfishp#">R code.</ulink>  </para><para>van Assen, van Aert and Wicherts (2015) give a formula based upon Fisher's method for summing p-values from studies a meta-analysis and comparing this sum to a Gamma distribution to assess for publication bias. </para><para>Manolov R and Solanas A (2012) suggest performing a binomial test to see if more statistically significant results (p &lt; alpha) occur than would be expected assuming the null probability of a significant result is alpha (e.g. 0.05). The test can be evaluated routinely performed in most packages. </para><para>For example, suppose as in Manolov and Solanas (2012, p.505) 3 out of 10 studies, or cases, have a p-value less than 0.05 for the same test statistic. We can input a single column (count) with 3 '1's and 7 '0's and compare this to a binomial test with P(a significant result)=0.05 denoted by 'testvalue' in the below syntax (rather than the default of 0.5). This can be done using the SPSS syntax below. </para><screen><![CDATA[NPTESTS 
  /ONESAMPLE TEST (count) BINOMIAL(TESTVALUE=0.05 SUCCESSCATEGORICAL=FIRST SUCCESSCONTINUOUS=CUTPOINT(MIDPOINT)) 
  /MISSING SCOPE=ANALYSIS USERMISSING=EXCLUDE 
  /CRITERIA ALPHA=0.05 CILEVEL=95.]]></screen><para>This gives a p=0.012 agreeing with the value on page 505 of Manolov and Solanas. That is, the probability of obtaining equal or more extreme numbers of p-values than that observed equals P(three or fewer p-values &lt; 0.05) + P([10-3=] seven or more p-values &lt; 0.05) = 0.012.  </para><section><title>References</title><para>Bailey TL and Gribskov M (1998). Combining evidence using p-values: application to sequence homology searches. Bioinformatics, <emphasis role="strong">14(1)</emphasis> 48-54. </para><para>Fisher RA (1925). Statistical methods for research workers (13th edition). London: Oliver and Boyd. </para><para>Manolov R and Solanas A (2012). Assigning and combining probabilities in single-case studies. <emphasis>Psychological Methods</emphasis> <emphasis role="strong">17(4)</emphasis> 495-509. Describes various methods for combining p-values including Stouffer and Fisher and the binomial test. </para><para>Stouffer, Samuel A., Edward A. Suchman, Leland C. <ulink url="https://lsr-wiki-01.mrc-cbu.cam.ac.uk/statswiki/FAQ/CombiningPvalues/statswiki/DeVinney#">DeVinney</ulink>, Shirley A. Star, and Robin M. Williams, Jr. (1949). <emphasis>Studies in Social Psychology in World War II: The American Soldier. Vol. 1, Adjustment During Army Life.</emphasis> Princeton: Princeton University Press. </para><para>van Assen MALM, van Aert RCM and Wicherts JM (2015) Meta-analysis using effect size distributions of only statistically significant studies. <emphasis>Psychological Methods</emphasis> <emphasis role="strong">20(3)</emphasis> 293-309. </para></section></section></section></article>