在R API函数调用中将参数名称设置为变量

时间:2018-05-31 13:53:58

标签: r

我正在使用具有以下语法功能的R API:

somefun(...)

示例电话:

somefun(foo = list(a = 10, b = 20))

由于可以使用此功能设置许多变量(不仅仅是' foo')如何更改" foo"到脚本中的变量名?类似的东西:

x = "foo"    ## or x = "bar", etc
somefun(x = list(a = 10, b = 20))

1 个答案:

答案 0 :(得分:0)

可能不是最干净的。您可以使用eval + parse

somefun <- function(...) {
    as.list(match.call())[-1]
}

somefun(foo = list(a = 10, b = 20))
#$foo
#list(a = 10, b = 20)

eval(parse(text=paste0("somefun(", x, " = list(a = 10, b = 20))")))
#$foo
#list(a = 10, b = 20)