[R] Ignoring the domain of RV in punif()

Eric Berger er|cjberger @end|ng |rom gm@||@com
Tue Oct 23 11:21:16 CEST 2018

Hi Hamed,
I disagree with your criticism.
For a random variable X
X: D - - - > R
its CDF F is defined by
F: R - - - > [0,1]
F(z) = Prob(X <= z)

The fact that you wrote a convenient formula for the CDF
F(z) = (z-a)/(b-a)  a <= z <= b
in a particular range for z is your decision, and as you noted this formula
will give the wrong value for z outside the interval [a,b].
But the problem lies in your formula, not the definition of the CDF which
would be, in your case:

F(z) = 0 if z <= a
       = (z-a)/(b-a)   if a <= z <= b
       = 1 if 1 <= z


On Tue, Oct 23, 2018 at 12:05 PM Hamed Ha <hamedhaseli using gmail.com> wrote:

> Hi All,
> I recently discovered an interesting issue with the punif() function.  Let
> X~Uiform[a,b] then the CDF is defined by F(x)=(x-a)/(b-a) for (a<= x<= b).
> The important fact here is the domain of the random variable X. Having said
> that, R returns CDF for any value in the real domain.
> I understand that one can justify this by extending the domain of X and
> assigning zero probabilities to the values outside the domain. However,
> theoretically, it is not true to return a value for the CDF outside the
> domain. Then I propose a patch to R function punif() to return an error in
> this situations.
> Example:
> > punif(10^10)
> [1] 1
> Regards,
> Hamed.
>         [[alternative HTML version deleted]]
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

	[[alternative HTML version deleted]]

More information about the R-help mailing list