Skip to content
Back to formatted view

Raw Message

Message-ID: <Pine.LNX.4.64.0712211359540.32279@homer22.u.washington.edu>
Date: 2007-12-21T22:02:42Z
From: Thomas Lumley
Subject: Numerical precision problem
In-Reply-To: <8760D6386F7F784693F05256139A1FFB70F87A@EXCHF3.lse.ac.uk>

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