【发布时间】:2020-06-10 16:07:37
【问题描述】:
我想访问用户选择的函数输入以及函数的所有默认参数。
example <- function(a = 1:10, b) {
c = a + b
output <- list()
output$call <- sys.call()
output$data <- c
return(output)
}
example_output <- example(b=10)
我正在尝试使用sys.call() 获取相关信息,然后将其作为call 存储在输出中,但这只会返回用户首先输入的信息:
example_output
$call
example(b = 10)
$data
[1] 11 12 13 14 15 16 17 18 19 20
这仍然让我不确定在这种情况下a 是什么,因为它是在函数定义中默认设置的。
我知道我可以使用获取默认参数
formals(example)
$a
1:10
$b
这给了我默认值,但不是用户输入。
我想将所有这些都保存在输出对象(本例中为列表)中,以便保存以供进一步处理该对象。
有什么建议吗?
非常感谢!
【问题讨论】:
-
为什么不直接创建
mylist <- list(a = a, b = b)等等?