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

(Ted Harding) Ted.Harding at nessie.mcc.ac.uk
Fri Feb 3 16:07:52 CET 2006

On 03-Feb-06 Peter Dalgaard wrote:
> (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk> writes:
>> 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) (
>> > 
>> > 
>> > 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.
> Once you get your coffee, you'll likely realize that you got
> your p's and d's mixed up...

You're right about the mix-up! (I must mend the pipeline.)

> I think Uffe is perfectly right: The result of zero experiments will
> be zero successes (and zero failures) with probability 1, so the
> cumulative distribution function is a step function with one step at
> zero ( == as.numeric(x>=0) ).

I'm perfectly happy with this argument so long as it leads to
dbinom(x=0,size=0,prob=p)=1 and also pbinom(q=0,size=0,prob=p)=1
(which seems to be what you are arguing too). And I think there
are no traps if p=0 or p=1.

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


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

More information about the R-devel mailing list