[R] Numerical precision problem

Thomas Lumley tlumley at u.washington.edu
Fri Dec 21 23:02:42 CET 2007


On Fri, 21 Dec 2007, C.Rosa at lse.ac.uk wrote:

> Dear All,
>
>
>
> I have a numerical problem:
>
> R, as other statistical software, can tell the difference between very 
> small numbers and 0, while apparently cannot distinguish a number close 
> to 1 and 1. In the example below, is it possible to instruct R to 
> recognize that q is different from 1?

No, since q is not different from 1.
>
>> q==1
>
> [1] TRUE
>

>
> The main problem I have is that I need to evaluate the inverse of the 
> normal Cumulative Distribution Function near 1 (but not exactly 1) and 
> the PC cannot recognize it.
>

Use the lower.tail= argument to qnorm (or just use the fact that the 
standard Normal is symmetric)

> p=.00000000000000000000000000000001
> p
[1] 1e-32
> qnorm(p,lower.tail=FALSE)
[1] 11.85613
> -qnorm(p)
[1] 11.85613
>
 	-thomas



More information about the R-help mailing list