Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: Ologit storing p-values up to 10 decimal places
From
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: Ologit storing p-values up to 10 decimal places
Date
Tue, 9 Aug 2011 07:15:47 +0100
Answers embedded below.
Nick
On Mon, Aug 8, 2011 at 7:55 PM, Debs Majumdar <[email protected]> wrote:
> Thanks Nick. I was just trying to do a Genome Wide Association test with a trial sample of 500 SNPs. In a normal dataset, we have around 500,000 SNPs and the p-values are very small (the last one I ran in PLINK had the top hit at 5e-17). I would eventually want to modify the code so that it runs fo 500K SNPs. The reason for trying to run the GWAS in Stata and not PLINK is that PLINK doesn't have the capability of doingan ordinal logistic regression.
>
>
> I got confused with the code. Sorry for that. If I wanted to print out the sorted p-values would adding an extra line (sort e(p)) do it?
No. That would not work. -sort- requires a variable list and e(p) is
clearly not a variable name. You would need to get the p-values into a
new variable, therefore, before -sort-ing.
> Also, I just noticed that Stata 11 has a --pformat-- option. I was wondering if that can be used before the loop to specify that I want p-values upto certain decimal places.
I think you mean Stata 12. That just controls the output of -ologit-
(in this case) and does nothing to solve your main problem.
You seem confused also about what a format is. A format is how
something is displayed, not what it is.
Your problem is programmable. I imagine you will get results more
quickly if you adopt Roger Newson's -parmest- approach. If you want to
program it yourself, then you need to study the Stata documentation
more thoroughly, as by your own admission your coding style seems
based mostly on guesses on what might work, and only frustration and
delay lie that way.
>
> foreach var of var length-gratio {
> capture ologit rep78 `var'
> * sort p-values
> sort e(p)
>
> di "`var' {col 20}" %12.10f e(p)
> }
>
>
> ----- Original Message -----
> From: Nick Cox <[email protected]>
> To: [email protected]
> Cc:
> Sent: Monday, August 8, 2011 11:19 AM
> Subject: Re: st: Ologit storing p-values up to 10 decimal places
>
> Your code is very confused, mixing up macros and variables and
> assuming that values exist which you never assigned. However, with the
> big caveat that no P-value can be trusted out to the tenth decimal
> place, the technique in this may be a start at what you seek.
>
> webuse fullauto
>
> foreach var of var length-gratio {
> capture ologit rep78 `var'
> di "`var' {col 20}" %12.10f e(p)
> }
>
> For more manipulation, look at -postfile-.
>
> If you are inspecting that many P-values, also consider building in a
> penalty for chance hits.
>
> On Mon, Aug 8, 2011 at 6:59 PM, Debs Majumdar <[email protected]> wrote:
>
>> I am trying to write a code which will go through around 500 ordinal logistic regressions and the output is the id for each of the rs # and the corresponding p-values, where the p-values are sorted in ascending order. i want the p-values reported up to 10 decimal places. This is my code so far. I may be wrong here. How do I make Stata report p-values up to 10 decimal places? Do I need to specify e(b) under display if I want the beta coefficients printed out for each rs #?
>>
>>
>> ~~~~~~~~
>> local list "age sex c1 c2 c3"
>> local pvalue = e(p)
>>
>> foreach `x’ of varlist rs1-rs500 {
>>
>> quietly ologit outcome `x' `list'
>>
>> sort pvalue
>> display `x' pvalue
>> }
>>
>> ~~~~~~~~
>>
>> I am using Stata 11.1.
>>
>> I want the output to show the following:
>>
>> ~~~~
>>
>> rs5 5e-7
>> rs493 4e-6
>> ...
>> ...
>> rs257 0.33
>>
>> ~~~
>
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/