R语言
match.arg
位于 base
包(package)。 说明
match.arg
将字符 arg
与 choices
指定的候选值表进行匹配。
用法
match.arg(arg, choices, several.ok = FALSE)
参数
arg |
字符向量(长度为 1,除非 |
choices |
候选值的字符向量,经常缺失,请参阅“详细信息”。 |
several.ok |
逻辑指定 |
细节
在单参数形式 match.arg(arg)
中,选项是从调用 match.arg
的函数的形式参数 arg
的默认设置中获得的。 (由于默认参数匹配会将 arg
设置为 choices
,因此这可以作为“length one except several.ok
is TRUE
”规则的例外,并返回第一个元素。)
匹配是使用 pmatch
完成的,因此 arg
可能会缩写,并且空字符串 ( ""
) 永远不会匹配,甚至不会匹配,请参阅 pmatch
。
值
精确或唯一部分匹配的未缩写版本(如果有);否则,如果 several.ok
为 false,则按照默认值发出错误信号。当 several.ok
为 true 并且(至少)arg
的一个元素具有匹配项时,将返回匹配项的所有未缩写版本。
警告
给出的错误消息可能会更改,并且在R4.2.0。不要在包中测试它们。
例子
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 'arg' and hence more than one match:
match.arg(c("gauss", "rect", "ep"),
c("gaussian", "epanechnikov", "rectangular", "triangular"),
several.ok = TRUE)
match.arg(c("a", ""), c("", NA, "bb", "abc"), several.ok=TRUE) # |--> "abc"
也可以看看
相关用法
- R match.call 参数匹配
- R match.fun 提取名称指定的函数
- R match 价值匹配
- R matrix 矩阵
- R matmult 矩阵乘法
- R mat.or.vec 创建矩阵或向量
- R make.unique 使字符串唯一
- R maxCol 求矩阵中的最大位置
- R mapply 将函数应用于多个列表或向量参数
- R marginSums 计算表格边距
- R make.names 命名语法上有效的名称
- R mtfrm 匹配辅助函数
- R merge 合并两个 DataFrame
- R missing 正式论证有价值吗?
- R mode 对象的(存储)模式
- R message 诊断信息
- R mean 算术平均值
- R memlimits 查询和设置堆大小限制
- R memCompress 内存中压缩和解压缩
- R memory.profile 分析 Cons 单元的使用情况
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Argument Verification Using Partial Matching。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。