我有一个带有默认参数的函数,它只是将其参数作为列表返回:
x <- function(a=1, b=2, c=3){formals()}
和另一个函数,它是x
y <- function(a, ...) x(a, ...)
但是,在函数x
中,我想获取参数的运行时值,而不是默认值。那就是,
y(a=3, b=4)
应该返回
$a
[1] 3
$b
[1] 4
$c
[1] 3
而不是
$a
[1] 1
$b
[1] 2
$c
[1] 3
这就是我现在得到的。也许sys。*函数之一可能会有所帮助,但我对这些函数没有那么有经验......有没有一种简单的方法来调用像formals()这样的函数来获取调用者指定的参数值?
答案 0 :(得分:0)
也许这个?
x <- function(a=1, b=2, c=3) mget(names(formals()))
y <- function(a, ...) x(a, ...)
y(a=3, b=4)
#$a
#[1] 3
#
#$b
#[1] 4
#
#$c
#[1] 3