首页 > 解决方案 > R:在将表达式传递给函数之前对其进行评估

问题描述

这可能是微不足道的,但我不是 R 专家,我找不到答案。

我有一些库函数执行“非标准评估”,特别是它input_fn来自tfestimators库,但以下应该是有效的 MWE:

foo <- function(x) {
    substitute(x)
}

现在如果我执行

val <- "value"
foo(val)

结果,我val得到的是“符号”类型的,我可以eval在它上面运行以有效地获取"value".

但是-如果val我想重用一些复杂的值-在传递给之前val如何进行评估?(不改变)"value" foofoo

另外,你能指点我一些关于这个功能的尽可能快的教程吗?

标签: r

解决方案


最后,我在这里找到了一个解决方案do.call

do.call(foo, list(val))   # returns "value"

推荐阅读