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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。