如何在R中使用列为字符串向量的参数构建函数?

时间:2017-05-11 13:57:32

标签: r functional-programming nse

如何编写一个带字符串向量的函数并返回一个带有字符串向量名称的参数的函数?另外,我想使用我的参数字符串来使用该函数中的输入列命名listdata.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))

理想情况下,在单个变量的情况下,可以通过集成来使用此函数。

0 个答案:

没有答案