[R] exact values for p-values - more information.

S.O. Nyangoma S.O.Nyangoma at amc.uva.nl
Mon Jul 11 22:37:06 CEST 2005


Hi there,
Actually my aim was to compare anumber of extreme values (e.g. 39540) 
with df1=1, df2=7025 via p-values.

Spencer mentions that 

"However, I have also used numbers like 
exp(-19775.52) to guestimate relative degrees of plausibility for 
different alternatives."

Can someone point to me an article using this method?

Regards. Stephen.

 

----- Original Message -----
From: Spencer Graves <spencer.graves at pdf.com>
Date: Monday, July 11, 2005 7:39 pm
Subject: Re: [R] exact values for p-values - more information.

>          I just checked:
> 
> > pf(39540, 1, 7025, lower.tail=FALSE, log.p=TRUE)
> [1] -Inf
> 
>          This is not correct.  With 7025 denominator degrees of 
> freedom, we 
> might use the chi-square approximation to the F distribution:
> 	
> > pchisq(39540, 1, lower.tail=FALSE, log.p=TRUE)
> [1] -19775.52
> 
>          In sum, my best approximation to  pf(39540, 1, 7025, 
> lower.tail=FALSE, log.p=TRUE), given only a minute to work on 
> this, is 
> exp(pchisq(39540, 1, lower.tail=FALSE, log.p=TRUE)) = exp(-19775.52).
> 
>          I'm confident that many violations of assumptions would 
> likely be 
> more important than the differences between "p-value: < 2.2e-16" 
> and 
 That doesn't mean they are right, only 
> the best 
> I can get with the available resources.
> 
>          spencer graves
> 
> Achim Zeileis wrote:
> 
> > On Mon, 11 Jul 2005, S.O. Nyangoma wrote:
> > 
> > 
> >> Hi there,
> >> If I do an lm, I get p-vlues as
> >>
> >> p-value: < 2.2e-16
> >>
> >>This is obtained from F =39540 with df1 = 1, df2 = 7025.
> >>
> >> Suppose am interested in exact value such as
> >>
> >> p-value = 1.6e-16 (note = and not <)
> >>
> >> How do I go about it?
> > 
> > 
> > You can always extract the `exact' p-value from the "summary.lm" 
> object or
> > you can compute it by hand via
> >   pf(39540, df1 = 1, df2 = 7025, lower.tail = FALSE)
> > For all practical purposes, the above means that the p-value is 0.
> > I guess you are on a 32-bit machine, then it also means that the 
> p-value
> > is smaller than the Machine epsilon
> >   .Machine$double.eps
> > 
> > So if you want to report the p-value somewhere, I think R's 
> output should
> > be more than precise enough. If you want to compute some other 
> values that
> > depend on such a p-value, then it is probably wiser to compute 
> on a log
> > scale, i.e. instead
> >   pf(70, df1 = 1, df2 = 7025, lower.tail = FALSE)
> > use
> >   pf(70, df1 = 1, df2 = 7025, lower.tail = FALSE, log.p = TRUE)
> > 
> > However, don't expect to be able to evaluate it at such extreme 
> values> such as 39540.
> > Z
> > 
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide! http://www.R-
> project.org/posting-guide.html
> 
> -- 
> Spencer Graves, PhD
> Senior Development Engineer
> PDF Solutions, Inc.
> 333 West San Carlos Street Suite 700
> San Jose, CA 95110, USA
> 
> spencer.graves at pdf.com
> www.pdf.com <http://www.pdf.com>
> Tel:  408-938-4420
> Fax: 408-280-7915
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-
> guide.html




More information about the R-help mailing list