Description Usage Arguments Details Value Author(s) See Also Examples
match_arg
matches arg
against a table of candidate values as
specified by choices
, where NULL
means to take the first one. This is a modified
version of the base
package function match.arg
that differs only in that it
can interact with ArgumentCheck
environments.
1 |
arg |
a character vector (of length one unless |
choices |
a character vector of candidate values |
several.ok |
logical specifying if |
argcheck |
An |
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. (Since default argument matching will set arg
to
choices
, this is allowed as an exception to the 'length one unless several.ok
is TRUE
' rule, and returns the first element.)
Matching is done using pmatch
, so arg
may be abbreviated.
The unabbreviated version of the exact or 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 more than one element of arg
has a match,
all unabbreviated versions of matches are returned.
R Core. This function is a near-verbatim copy of the match.arg
in
base
R.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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
stopifnot(identical(center(x), center(x, "mean")),
identical(center(x, NULL), center(x, "mean")) )
## Allowing more than one match:
match.arg(c("gauss", "rect", "ep"),
c("gaussian", "epanechnikov", "rectangular", "triangular"),
several.ok = TRUE)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.