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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。