2014-12-05 169 views
2

我想评估函数f中的某个函数g,但g的参数在列表中给出ffg是这样定义的:评估其参数存储在列表中的函数

g <- function(a,b){ 
    a+b 
} 
f <- function(x, y, l){ 
    # do some stuff on x and y 
    z <- g(l) # Not working 
    # do some stuff on x, y and z 
} 

我想以这种方式运行f

f(xx, yy, list(a=aa, b=bb) 

其中aabbxxyy一些[R对象。

我该怎么做?

+1

'do.call',我想 – 2014-12-05 13:05:03

回答

2

你应该以这种方式使用do.call功能:

f <- function(x, y, l){ 
    # do some stuff on x and y 
    z <- do.call(g,l) 
    # do some stuff on x, y and z 
}