[Rd] inaccuracy in qbinom with partial argument matching

Peter Ruckdeschel Peter.Ruckdeschel at uni-bayreuth.de
Fri Jun 29 12:06:41 CEST 2007


Petr Savicky wrote:
> Brian Ripley wrote:
>> I wrote:
>> > ## partial argument matching:
>> > qbinom(p0     , s = 3,    p    = 0.25)  ## 1 ???
>> > qbinom(p0-0.05, s = 3,    p    = 0.25)  ## 1 ???
>> > qbinom(p0-0.06, s = 3,    p    = 0.25)  ## 0 o.K.
>> >
>> > Unfortunately I have no I idea how to fix this.
>> 
>> You use a call that specifies your intentions accurately.  This is not 
>> 'partial argument matching': 'p' is an exact match to the first argument 
>> of
>> 
>> > args(qbinom)
>> function (p, size, prob, lower.tail = TRUE, log.p = FALSE)
>> 
>> and that is how argument matching in R is documented to work.
>> 
>> The 'inaccuracy' is in the diagnosis: please see the FAQ.
>  
> Let me add an explanation, why
>   qbinom(p0     , s = 3,    p    = 0.25)
> does not produce an error message about missing "prob" argument:
> Since "size" and "p" arguments are given, p0 is used for
> the third argument and not for the first.
> 
> Although the behavior is logical, it may not be immediately clear.
> I do not see this case explicitly in FAQ or R-intro.pdf 10.3.

To close this thread:
First thanks to Brian and Petr for their explanation ---and to Petr
for defending me.

But I think, Brian was right, it was my fault not to see that qbinom's
first argument 'p' was matched against my abbreviated 'prob' argument
0.25, which is ---I think--- the reason for Brian's
"please see the FAQ"...

Although not itself an FAQ nor in the R-intro manual, argument matching
is completely & clearly described in

   http://cran.r-project.org/doc/manuals/R-lang.html#Argument-matching

In fact my code is a badly chosen example:

I am working on automatically generated q-, (and r,d,p)- functions,
so left continuity of q<>-fct.'s is an issue.
Unfortunately numbers p0 and .25 are so close together that they gave
results only differing by 1 when interchanged, so I was led to the
conclusion that it was a left-continuity-issue of qbinom with partial
matched arguments which it was obviously not ---sorry for bothering
you.

As a conclusion which may be worth noting for other occasions as well:

    Be careful with partial argument matching !

Best, Peter



More information about the R-devel mailing list