[Rd] Argument "nomatch" matched by multiple actual arguments ... %in% -> match?!?

Henrik Bengtsson hb at stat.berkeley.edu
Thu Mar 6 21:12:59 CET 2008


Hi,

a follow up.  If I replace all 'foo %in% bar' in setMethodS3.default()
with is.element(foo, bar) the error goes away.  Here is is.element():

> is.element
function (el, set)
match(el, set, 0) > 0
<environment: namespace:base>

Not much of a difference compared to "%in%"(),

> get("%in%")
function (x, table)
match(x, table, nomatch = 0) > 0
<environment: namespace:base>

except that the 'nomatch' argument is not named in is.element().
Also, none of calls used variable names 'x', 'table', 'el', 'set', or
'nomatch'.

/Henrik

On Thu, Mar 6, 2008 at 2:27 AM, Henrik Bengtsson <hb at stat.berkeley.edu> wrote:
> When I run R CMD check R.oo on R v2.7.0 devel (2008-03-04 r44677) on
>  WinXP I get the following error while testing examples:
>
>  Error in match(x, table, nomatch = 0) :
>   formal argument "nomatch" matched by multiple actual arguments
>  Calls: setMethodS3 -> setMethodS3.default -> %in% -> match
>  Execution halted
>
>  How is that even possible with:
>
>  > get("%in%")
>  function (x, table)
>  match(x, table, nomatch = 0) > 0
>  <environment: namespace:base>
>
>  All '%in' statements in setMethodS3.default are of kind (foo %in%
>  bar).   The error does not happen if I run the example(Object)
>  explicitly.
>
>  /Henrik
>



More information about the R-devel mailing list