我如何编写一个函数,它接受一个字符串向量并返回一个函数,其参数具有字符串向量的名称?此外,我想使用我的参数字符串来使用该函数内的输入列创建list
或命名。data.frame
我想要的应用程序是能够将其传递给predict
估计一些点的方法。如果这个功能已经存在,请告诉我。否则,我很好奇我会怎么写。下面我包含了 R 伪代码,说明了我正在尝试做的事情,并希望能展示我在概念上卡住的地方。
make_fitting_function <- function(mod) {
x <- xterms(mod)
function(!! x) {
predict(mod, newdata = list(!! x))
}
}
调用此函数会返回一个可以在单独的向量参数上调用的函数。例如:
f <- make_fitting_function(lm(mpg ~ wt, data = mtcars))
f(wt = c(1, 2, 3, 4, 5))
结果将是:
1 2 3 4 5
31.94 26.60 21.25 15.91 10.56
但是,这也适用于更多 x 变量(例如):
f <- make_fitting_function(lm(mpg ~ wt + am + carb, data = mtcars))
f(wt = c(1, 2, 3, 4, 5), am = rep(1, 5), carb = seq(2, 10, by = 2))
理想情况下,该函数应该能够在单个变量的情况下通过积分来使用。