R語言
match.call
位於 base
包(package)。 說明
match.call
返回一個調用,其中所有指定參數均按其全名指定。
用法
match.call(definition = sys.function(sys.parent()),
call = sys.call(sys.parent()),
expand.dots = TRUE,
envir = parent.frame(2L))
參數
definition |
函數,默認情況下調用 |
call |
對 |
expand.dots |
合乎邏輯的。調用中匹配 |
envir |
從中檢索 |
細節
此幫助頁麵上的 ‘function’ 表示解釋函數(也稱為 ‘closure’):match.call
不支持原始函數(其中參數匹配通常是位置匹配)。
match.call
最常用於兩種情況:
-
記錄調用以供以後重用:例如,大多數模型擬合函數將調用記錄為它們返回的列表的元素
call
。這裏默認的expand.dots = TRUE
是合適的。 -
將大部分調用傳遞給另一個函數,通常是
model.frame
。這裏常見的習慣用法是使用expand.dots = FALSE
,並刪除匹配調用的...
元素。另一種方法是顯式選擇要傳遞的參數,如lm
中所做的那樣。
在函數外部調用 match.call
而不指定 definition
是錯誤的。
值
類 call
的對象。
例子
match.call(get, call("get", "abc", i = FALSE, p = 3))
## -> get(x = "abc", pos = 3, inherits = FALSE)
fun <- function(x, lower = 0, upper = 1) {
structure((x - lower) / (upper - lower), CALL = match.call())
}
fun(4 * atan(1), u = pi)
參考
Chambers, J. M. (1998) Programming with Data. A Guide to the S Language. Springer.
也可以看看
相關用法
- R match.arg 使用部分匹配的參數驗證
- 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 Matching。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。