[R] bug or no?

Chuck Cleland ccleland at optonline.net
Tue Aug 24 21:08:37 CEST 2004


   I don't think it's a bug, it's partial matching of 
argument names.  To avoid it, use exact argument names in 
your call to the function:

temp(sb=2,s=3)
[1] 2

   From the R language definition:

"Argument matching: Formal arguments are matched to supplied 
arguments first by exact matching on tags, then by partial 
matching on tags, and finally by positional matching."

http://cran.r-project.org/doc/contrib/R_language.pdf

Richard Morey wrote:
> The following code prints [1] 2, as it should
> 
> temp<-function(ab,...){
> print(ab)
> }
> temp(2,s=3)
> 
> However, this code prints [1] 3:
> 
> temp<-function(sb,...){
> print(sb)
> }
> temp(2,s=3)
> 
> It should still print [1] 2. It appears
> that if a variable in ... begins with the same letter as another variable,
> the value in the variable in ... overwrites the value in the variable with
> the same first letter.
> 
> I didn't see this bug reported elsewhere.
> 
> Richard Morey
> 
> Is this a bug or am I missing something?
> 
> output of R.version
> platform i686-pc-linux-gnu
> arch     i686
> os       linux-gnu
> system   i686, linux-gnu
> status
> major    1
> minor    9.1
> year     2004
> month    06
> day      21
> language R
> 
> 


-- 
Chuck Cleland, Ph.D.
NDRI, Inc.
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 452-1424 (M, W, F)
fax: (917) 438-0894




More information about the R-help mailing list