【发布时间】:2015-05-08 19:19:13
【问题描述】:
我正在尝试从函数列表和要传递给这些函数的参数列表中创建新函数,但到目前为止我还不能这样做。请看下面的例子。
fun_list <- list(f = function(x, params) {x+params[1]},
z = function(a, params) {a * params[1] * params[2]})
params_list <- list(f = 1, z = c(3, 5))
# goal is to create 2 new functions in global environment
# fnew <- function(x) {x+1}
# znew <- function(a) {a*3*5}
# I've tried
for(x in names(fun_list)){
force(x)
assign(paste0(x, "new"), function(...) fun_list[[x]] (..., params = params_list[[x]]))
}
目标是为任意函数和参数动态地执行此操作。
【问题讨论】:
标签: r