在R中获取形式参数的运行时值

时间:2015-05-12 13:47:36

标签: r

我有一个带有默认参数的函数,它只是将其参数作为列表返回:

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()这样的函数来获取调用者指定的参数值?

1 个答案:

答案 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