[R] exact values for p-values - more information.
Achim Zeileis
Achim.Zeileis at wu-wien.ac.at
Mon Jul 11 19:22:44 CEST 2005
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
More information about the R-help
mailing list