R:使用list粘贴函数参数

时间:2015-11-19 15:37:52

标签: r list function

如何使用列表将参数粘贴到函数中。

例如,我想将public static void main(String[] args) { App app = new App(); // Need to inject app here. app.init(args); app.start(); } 的参数粘贴到函数l

f

这是否有一个简单/优雅/可能的解决方案?

修改

我有一个函数f <- function(a, b, c){ return(a + b + c) } l <- list(a = 1, b = 2, c = 3) # here is the error: f(unlist(l)) # the expected value is 6 ,它返回一个列表,该列表应解析为另一个函数f(也需要其他输入),并尝试缩短代码。例如

f.other

1 个答案:

答案 0 :(得分:3)

有一个功能:

do.call(f, l)
[1] 6

函数?do.call有助于以编程方式评估函数参数。

修改

关于第二个问题,如果要在创建列表后添加参数,请将新参数连接到列表:

l <- list(b=2, c=3)

如上所述,它是不完整的,如果我们尝试do.call(f, l)则会抛出错误。要添加额外参数,我们可以使用:

l2 <- c(a=1, l)

在这种情况下,我们将a=1添加到现有列表中以运行do.call(f, l2)