匹配参数,允许模糊匹配,例如下面输入type=”t” 或者 type=”mea”,则会分别返回”trimmed”和”mean”,方便的是输入参数不匹配的时候可以返回错误信息。
center <- function(x, type = c("mean", "median", "trimmed")) {
type <- match.arg(type)
print(type)
switch(type,
mean = mean(x),
median = median(x),
trimmed = mean(x, trim = .1))
}
完整形式是下面样子,choices为参数可以选择的值。但是在函数中参数设置有默认值,choices就等于默认值,可以省略。如果输入为NULL,则匹配默认参数第一个。
match.arg(arg, choices, several.ok = FALSE)