匹配参数,允许模糊匹配,例如下面输入type=”t” 或者 type=”mea”,则会分别返回”trimmed”和”mean”,方便的是输入参数不匹配的时候可以返回错误信息。

    1. center <- function(x, type = c("mean", "median", "trimmed")) {
    2. type <- match.arg(type)
    3. print(type)
    4. switch(type,
    5. mean = mean(x),
    6. median = median(x),
    7. trimmed = mean(x, trim = .1))
    8. }

    完整形式是下面样子,choices为参数可以选择的值。但是在函数中参数设置有默认值,choices就等于默认值,可以省略。如果输入为NULL,则匹配默认参数第一个。

    1. match.arg(arg, choices, several.ok = FALSE)