我想让下面的程序工作。
我知道,错误在于list(f1, f2)
,但到目前为止我还没有找到让它工作的方法。问题是f1
并且f2
在外部环境中不为人所知func
,但我想将它们作为名称/符号传递......
x = 1:2
func = function(f,x){
f1 = function(x)
sum(x)
f2 = function(x)
prod(x)
eval(substitute(f))(x)
}
func(f1, x) # works
func(f2, x) # works
sapply(list(f1,f2), function(f) func(f,x)) # cannot iterate over f's