<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Stouffer-Liptak p value correction in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175837#M302155</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Awesome! My p values are two sided. Actually I obtained them from t values. Do you believe that should make one sided p? Or to apply different formula. Sorry for being borring but I am really happy someone is actually giving me useful advices.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 19 Dec 2013 18:05:11 GMT</pubDate>
    <dc:creator>MajaFerencakovic</dc:creator>
    <dc:date>2013-12-19T18:05:11Z</dc:date>
    <item>
      <title>Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175826#M302144</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;I have a question about input file for stouffer-liptak correction. So it is proc MULTTEST with option stouffer, but input file with p values... How this one should look like? raw_p values in column or? &lt;/P&gt;&lt;P&gt;Some additional stuff? &lt;/P&gt;&lt;P&gt;Anyone used this one.&lt;/P&gt;&lt;P&gt;My data set looks like this:&lt;/P&gt;&lt;P&gt;test1 raw_p1a raw_p1b raw_p1c&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;test36789 raw_p36789a&amp;nbsp; raw_p36789b&amp;nbsp; raw_p36789c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks in advance!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Dec 2013 19:11:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175826#M302144</guid>
      <dc:creator>MajaFerencakovic</dc:creator>
      <dc:date>2013-12-17T19:11:54Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175827#M302145</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From SAS 9.2.3 online help and example of using an input set of p-values&lt;/P&gt;&lt;TABLE cellpadding="0" cellspacing="0" id="topofpage" width="100%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="runninghead"&gt;The MULTTEST Procedure&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;DIV&gt;&lt;H2 id="statug.multtest.multtestrawp"&gt;Example 58.5 Inputting Raw &lt;EM&gt;p&lt;/EM&gt;-Values&lt;/H2&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;data a;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;input Test$ Raw_P @@;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;test01 0.28282 test02 0.30688 test03 0.71022 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;test04 0.77175 test05 0.78180 test06 0.88581 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;test07 0.54685 test08 0.84978 test09 0.24228 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;test10 0.58977 test11 0.03498 test12 0.41607 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;test13 0.31631 test14 0.05254 test15 0.45061 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;test16 0.75758 test17 0.12496 test18 0.49485 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;test19 0.21572 test20 0.50505 test21 0.94372 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;test22 0.81260 test23 0.77596 test24 0.36889 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc multtest inpvalues=a holm hoc fdr;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Dec 2013 21:24:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175827#M302145</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2013-12-17T21:24:14Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175828#M302146</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks! &lt;/P&gt;&lt;P&gt;I am aware of this one but this actually produce one new value for each raw_p. Maybe I am wrong but isn't it that stouffer should produce one new p from multiple p? In my case I would like to get new p from raw_pa, raw_pb and raw_pc for every test I have. &lt;/P&gt;&lt;P&gt;Like in formula Z=sum(z(pi)/sqrt k) where Z is thr the standard normal variable under h0, z(pi) is the p value from test i transformed to z and k is number of tests. Truth is that I could do this by hand but then I noticed this option stouffer and hoped to write in the paper used this from SAS instead of formula &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Dec 2013 21:41:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175828#M302146</guid>
      <dc:creator>MajaFerencakovic</dc:creator>
      <dc:date>2013-12-17T21:41:15Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175829#M302147</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc multtest data=yourdata stouffer;&lt;/P&gt;&lt;P&gt;by testidno;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This assumes that what you have as test1, test2, etc. is kept in the variable testidno, and that the dataset is sorted by testidno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Steve Denham&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Dec 2013 18:14:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175829#M302147</guid>
      <dc:creator>SteveDenham</dc:creator>
      <dc:date>2013-12-18T18:14:41Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175830#M302148</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Steve!&lt;/P&gt;&lt;P&gt;it looks like&amp;nbsp; I am doing something wrong... I got response ERROR: No base test has been assigned, and ERROR: No class statement. &lt;/P&gt;&lt;P&gt;So I actually wonder am I trying to do what I actually don't understand. I have three p values from three cattle breeds and I would like to combine them. Is this method good one?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 12:15:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175830#M302148</guid>
      <dc:creator>MajaFerencakovic</dc:creator>
      <dc:date>2013-12-19T12:15:07Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175831#M302149</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;did you use PROC MULTTEST statement option INPVALUES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INPVALUES=SAS-data-set names an input SAS data set that includes a variable containing raw p-values. The MULTTEST procedure adjusts the collection of raw p-values for multiplicity. Resampling-based adjustments are not permitted with this type of data input. The CLASS, CONTRAST, FREQ, STRATA, and TEST statements are ignored when an INPVALUES= data set is specified. The INPVALUES= and DATA= options cannot both be specified. The pvalue-name enables you to specify the name of the p-value column from your data set. By default, pvalue-name=’raw_p’. The INPVALUES= data set can contain variables in addition to the raw p-values variable; see Example 60.5 for an example.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 12:36:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175831#M302149</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2013-12-19T12:36:57Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175832#M302150</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So I set up a test situation using the Stouffer option, and the data from Example 60.5, splitting into 6 testing groups.&amp;nbsp; It does NOT return a single combined p value for grouped tests, but returns individual adjusted p values for each test.&amp;nbsp; Perhaps you could view the maximum adjusted value as a combination.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data a;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; input Test$ Raw_P @@;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; datalines;&lt;/P&gt;&lt;P&gt;test01&amp;nbsp; 0.28282&amp;nbsp;&amp;nbsp;&amp;nbsp; test02&amp;nbsp; 0.30688&amp;nbsp;&amp;nbsp;&amp;nbsp; test03&amp;nbsp; 0.71022&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;test04&amp;nbsp; 0.77175&amp;nbsp;&amp;nbsp;&amp;nbsp; test05&amp;nbsp; 0.78180&amp;nbsp;&amp;nbsp;&amp;nbsp; test06&amp;nbsp; 0.88581&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;test07&amp;nbsp; 0.54685&amp;nbsp;&amp;nbsp;&amp;nbsp; test08&amp;nbsp; 0.84978&amp;nbsp;&amp;nbsp;&amp;nbsp; test09&amp;nbsp; 0.24228&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;test10&amp;nbsp; 0.58977&amp;nbsp;&amp;nbsp;&amp;nbsp; test11&amp;nbsp; 0.03498&amp;nbsp;&amp;nbsp;&amp;nbsp; test12&amp;nbsp; 0.41607&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;test13&amp;nbsp; 0.31631&amp;nbsp;&amp;nbsp;&amp;nbsp; test14&amp;nbsp; 0.05254&amp;nbsp;&amp;nbsp;&amp;nbsp; test15&amp;nbsp; 0.45061&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;test16&amp;nbsp; 0.75758&amp;nbsp;&amp;nbsp;&amp;nbsp; test17&amp;nbsp; 0.12496&amp;nbsp;&amp;nbsp;&amp;nbsp; test18&amp;nbsp; 0.49485&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;test19&amp;nbsp; 0.21572&amp;nbsp;&amp;nbsp;&amp;nbsp; test20&amp;nbsp; 0.50505&amp;nbsp;&amp;nbsp;&amp;nbsp; test21&amp;nbsp; 0.94372&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;test22&amp;nbsp; 0.81260&amp;nbsp;&amp;nbsp;&amp;nbsp; test23&amp;nbsp; 0.77596&amp;nbsp;&amp;nbsp;&amp;nbsp; test24&amp;nbsp; 0.36889&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;data aa;&lt;/P&gt;&lt;P&gt;set a;&lt;/P&gt;&lt;P&gt;grptest=mod(_n_,6);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;proc sort data=aa;&lt;/P&gt;&lt;P&gt;by grptest;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;ods trace on;&lt;/P&gt;&lt;P&gt;proc multtest inpvalues=aa stouffer;&lt;/P&gt;&lt;P&gt;by grptest;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;ods trace off;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you can see from the output from this, there is an adjusted value for every test, and not a single value, although I think the maximum value may be the exact equivalent of the formulat you proposed.&amp;nbsp; At this point, I would appeal to the independence of the p values, and use either the formula you proposed, or calculate a joint probability that all three tests reject their respective null hypotheses.&amp;nbsp; Something like p_joint=1-((1-rawp_a)*(1-rawp_b)*(1-rawp_c)).&amp;nbsp; You could loop either of these methods pretty easily to go through all 36789 loci (just guessing at what you are looking at).&amp;nbsp; If the max adjusted value from the STOUFFER option matches your formula, then I think you are home free.&amp;nbsp; I would suggest testing it out on three or four incidences.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will have to reshape your data to use MULTTEST, I think, with a single raw_p, and additional variables testid and breed (taking on A, B, C).&amp;nbsp; Take a look at the structure of dataset aa in the example above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Steve Denham&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 14:02:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175832#M302150</guid>
      <dc:creator>SteveDenham</dc:creator>
      <dc:date>2013-12-19T14:02:40Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175833#M302151</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Steve I don't know how to thank you &lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://communities.sas.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;&lt;/P&gt;&lt;P&gt;You guessed right. I have SNP data. I am estimating p for every SNP in three breeds.&lt;/P&gt;&lt;P&gt;When I was thinking about combining three values i used papers linked (&lt;A href="http://www.biomedcentral.com/1471-2164/13/48"&gt;http://www.biomedcentral.com/1471-2164/13/48&lt;/A&gt; and &lt;A href="http://www.plosone.org/article/info:doi/10.1371/journal.pone.0064280"&gt;http://www.plosone.org/article/info:doi/10.1371/journal.pone.0064280&lt;/A&gt;) . They were mentioning Stouffer. I looked in SAS and found this option. It looks like I can't use it, so I will calculate "by hand". Let me ask one more thing. &lt;/P&gt;&lt;P&gt;So if I will going to calculate stouffer by hand i should trnsform p value into z value. I believe I should use &lt;SPAN style="color: #222222; font-family: arial, sans-serif; background-color: #ffffff;"&gt;z = probit(1 -p_value).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; background-color: #ffffff;"&gt;Do you agree?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 14:32:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175833#M302151</guid>
      <dc:creator>MajaFerencakovic</dc:creator>
      <dc:date>2013-12-19T14:32:48Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175834#M302152</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That is the transformation I would use, and is the one found in the PROC MULTTEST documentation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Steve Denham&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 14:37:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175834#M302152</guid>
      <dc:creator>SteveDenham</dc:creator>
      <dc:date>2013-12-19T14:37:08Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175835#M302153</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Steve, thank you again! &lt;/P&gt;&lt;P&gt;Guys, I am still open for new suggestions!&lt;/P&gt;&lt;P&gt;Wish you all best! &lt;/P&gt;&lt;P&gt;Cheers! &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;P&gt;Maja&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 14:46:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175835#M302153</guid>
      <dc:creator>MajaFerencakovic</dc:creator>
      <dc:date>2013-12-19T14:46:26Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175836#M302154</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One more thing.&amp;nbsp; Make sure that those raw p values are one-sided, so that the transformation to a z value is one-to-one.&amp;nbsp; Here is my code for the example data in 60.5&lt;BR /&gt;/* Example 60.5 data */&lt;/P&gt;&lt;P&gt;data a;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; input Test$ Raw_P @@;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; datalines;&lt;BR /&gt;test01&amp;nbsp; 0.28282&amp;nbsp;&amp;nbsp;&amp;nbsp; test02&amp;nbsp; 0.30688&amp;nbsp;&amp;nbsp;&amp;nbsp; test03&amp;nbsp; 0.71022&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;test04&amp;nbsp; 0.77175&amp;nbsp;&amp;nbsp;&amp;nbsp; test05&amp;nbsp; 0.78180&amp;nbsp;&amp;nbsp;&amp;nbsp; test06&amp;nbsp; 0.88581&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;test07&amp;nbsp; 0.54685&amp;nbsp;&amp;nbsp;&amp;nbsp; test08&amp;nbsp; 0.84978&amp;nbsp;&amp;nbsp;&amp;nbsp; test09&amp;nbsp; 0.24228&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;test10&amp;nbsp; 0.58977&amp;nbsp;&amp;nbsp;&amp;nbsp; test11&amp;nbsp; 0.03498&amp;nbsp;&amp;nbsp;&amp;nbsp; test12&amp;nbsp; 0.41607&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;test13&amp;nbsp; 0.31631&amp;nbsp;&amp;nbsp;&amp;nbsp; test14&amp;nbsp; 0.05254&amp;nbsp;&amp;nbsp;&amp;nbsp; test15&amp;nbsp; 0.45061&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;test16&amp;nbsp; 0.75758&amp;nbsp;&amp;nbsp;&amp;nbsp; test17&amp;nbsp; 0.12496&amp;nbsp;&amp;nbsp;&amp;nbsp; test18&amp;nbsp; 0.49485&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;test19&amp;nbsp; 0.21572&amp;nbsp;&amp;nbsp;&amp;nbsp; test20&amp;nbsp; 0.50505&amp;nbsp;&amp;nbsp;&amp;nbsp; test21&amp;nbsp; 0.94372&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;test22&amp;nbsp; 0.81260&amp;nbsp;&amp;nbsp;&amp;nbsp; test23&amp;nbsp; 0.77596&amp;nbsp;&amp;nbsp;&amp;nbsp; test24&amp;nbsp; 0.36889&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;/* Create 6 groups of 4 pvals each */&lt;BR /&gt;data aa;&lt;BR /&gt;set a;&lt;BR /&gt;grptest=mod(_n_,6);&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;/* Sort for bygroup processing */&lt;BR /&gt;proc sort data=aa;&lt;BR /&gt;by grptest;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;/* See what MULTTEST gives for Stouffer-Liptak, and see what datasets are made */&lt;BR /&gt;ods trace on;&lt;BR /&gt;proc multtest inpvalues=aa stouffer;&lt;BR /&gt;by grptest;&lt;BR /&gt;run;&lt;BR /&gt;ods trace off;&lt;/P&gt;&lt;P&gt;/* Transform pvals to z scores */&lt;/P&gt;&lt;P&gt;data b;&lt;BR /&gt;set aa;&lt;BR /&gt;z=quantile('NORMALl', 1-raw_p);&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;/* Intermediate step to sum z scores within and across groups */&lt;/P&gt;&lt;P&gt;proc means noprint data=b;&lt;BR /&gt;class grptest;&lt;BR /&gt;var z;&lt;BR /&gt;output out=grpz sum=sumz;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;/* Calculate Stouffer combined value */&lt;/P&gt;&lt;P&gt;data grp_pval;&lt;BR /&gt;set grpz;&lt;BR /&gt;stouffer_p_val=1-cdf('NORMAL',sumz/sqrt(_freq_));&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Steve Denham&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 16:06:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175836#M302154</guid>
      <dc:creator>SteveDenham</dc:creator>
      <dc:date>2013-12-19T16:06:43Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175837#M302155</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Awesome! My p values are two sided. Actually I obtained them from t values. Do you believe that should make one sided p? Or to apply different formula. Sorry for being borring but I am really happy someone is actually giving me useful advices.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 18:05:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175837#M302155</guid>
      <dc:creator>MajaFerencakovic</dc:creator>
      <dc:date>2013-12-19T18:05:11Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175838#M302156</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would say plug in the t values for the z values.&amp;nbsp; However, you may have different degrees of freedom associated with the t values within a SNP, so they may not be totally comparable.&amp;nbsp; Therefore, I would use the cdf('T", t-value, df) to get one-sided p values, then feed them back through what we have above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Steve Denham&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 18:44:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175838#M302156</guid>
      <dc:creator>SteveDenham</dc:creator>
      <dc:date>2013-12-19T18:44:21Z</dc:date>
    </item>
    <item>
      <title>Re: Stouffer-Liptak p value correction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175839#M302157</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you &lt;/P&gt;&lt;P&gt;:smileycool:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 20:02:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stouffer-Liptak-p-value-correction/m-p/175839#M302157</guid>
      <dc:creator>MajaFerencakovic</dc:creator>
      <dc:date>2013-12-19T20:02:40Z</dc:date>
    </item>
  </channel>
</rss>

