match.arg {base} | R Documentation |
match.arg
matches arg
against a table of candidate
values as specified by choices
.
match.arg(arg, choices, several.ok = FALSE)
arg |
a character string |
choices |
a character vector of candidate values |
several.ok |
logical specifying if arg should be allowed
to have more than one element. |
In the one-argument form match.arg(arg)
, the choices are
obtained from a default setting for the formal argument arg
of
the function from which match.arg
was called.
Matching is done using pmatch
, so arg
may be
abbreviated.
The unabbreviated version of the unique partial match if there is one;
otherwise, an error is signalled if several.ok
is false, as per
default. When several.ok
is true and there is more than one
match, all unabbreviated versions of matches are returned.
pmatch
,
match.fun
,
match.call
.
require(stats) ## Extends the example for 'switch' center <- function(x, type = c("mean", "median", "trimmed")) { type <- match.arg(type) switch(type, mean = mean(x), median = median(x), trimmed = mean(x, trim = .1)) } x <- rcauchy(10) center(x, "t") # Works center(x, "med") # Works try(center(x, "m")) # Error ## Allowing more than one match: match.arg(c("gauss", "rect", "ep"), c("gaussian", "epanechnikov", "rectangular", "triangular"), several.ok = TRUE)