[Rd] pbinom with size argument 0 (PR#8560)

(Ted Harding) Ted.Harding at nessie.mcc.ac.uk
Fri Feb 3 15:34:32 CET 2006


On 03-Feb-06 uht at dfu.min.dk wrote:
> Full_Name: Uffe Høgsbro Thygesen
> Version: 2.2.0
> OS: linux
> Submission from: (NULL) (130.226.135.250)
> 
> 
> Hello all.
> 
>   pbinom(q=0,size=0,prob=0.5)
> 
> returns the value NaN. I had expected the result 1. In fact any
> value for q seems to give an NaN.

Well, "NaN" can make sense since "q=0" refers to a single sampled
value, and there is no value which you can sample from "size=0";
i.e. sampling from "size=0" is a non-event. I think the probability
of a non-event should be NaN, not 1! (But maybe others might argue
that if you try to sample from an empty urn you necessarily get
zero "successes", so p should be 1; but I would counter that you
also necessarily get zero "failures" so q should be 1. I suppose
it may be a matter of whether you regard the "r" of the binomial
distribution as referring to the "identities" of the outcomes
rather than to how many you get of a particular type. Hmmm.)

> Note that
> 
>   dbinom(x=0,size=0,prob=0.5)
> 
> returns the value 1.

That is probably because the .Internal code for pbinom may do
a preliminary test for "x >= size". This also makes sense, for
the cumulative p<dist> for any <dist> with a finite range,
since the answer must then be 1 and a lot of computation would
be saved (likewise returning 0 when x < 0). However, it would
make even more sense to have a preceding test for "size<=0"
and return NaN in that case since, for the same reasons as
above, the result is the probability of a non-event.

(But it depends on your point of view, as above ... However,
surely the two  should be consistent with each other.)

Best wishes,
Ted.

--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 03-Feb-06                                       Time: 14:34:28
------------------------------ XFMail ------------------------------



More information about the R-devel mailing list