我正在编写围绕rBayesianOptimization
和caret
R包的包装函数。下面描述的问题是主包装函数内部步骤的一部分。我需要将特定模型的超参数(以下代表input
)传递给将在高斯过程模型中采样的函数。超参数当前存储在一个字符向量中。R函数使用字符向量动态生成另一个R函数
有没有办法使用字符向量在R中动态生成函数?我需要一个实际上创建另一个函数的函数。例如,
# start with this...
input <- c("a","b")
# ...and an intermediate function generates this
test_function <- function(a=a,b=b) {
d <- data.frame(a=a,b=b)
}
此外,解决方案需要能够处理各种长度和内容的输入。所以像这样的东西也应该工作,
# start with this...
input <- c("c","d","e","f")
# ...and an intermediate function generates this
test_function <- function(c=c,d=d,e=e,f=f) {
d <- data.frame(c=c,d=d,e=e,f=f)
}
这是一个玩具的例子,但它足以回答我的问题。
这是完美的。我更新了我的原始问题以澄清 –