【问题标题】:Set Argument Name as Variable in R API Function Call在 R API 函数调用中将参数名称设置为变量
【发布时间】:2018-05-31 13:53:57
【问题描述】:

我正在使用具有以下语法的函数的 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))

【问题讨论】:

    标签: r


    【解决方案1】:

    可能不是最干净的。你可以使用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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-13
      • 1970-01-01
      • 2020-06-20
      • 2015-11-16
      • 2018-03-28
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      相关资源
      最近更新 更多