r - R:在将表达式传递给函数之前对其进行评估
问题描述
这可能是微不足道的,但我不是 R 专家,我找不到答案。
我有一些库函数执行“非标准评估”,特别是它input_fn
来自tfestimators
库,但以下应该是有效的 MWE:
foo <- function(x) {
substitute(x)
}
现在如果我执行
val <- "value"
foo(val)
结果,我val
得到的是“符号”类型的,我可以eval
在它上面运行以有效地获取"value"
.
但是-如果val
我想重用一些复杂的值-在传递给之前val
如何进行评估?(不改变)"value"
foo
foo
另外,你能指点我一些关于这个功能的尽可能快的教程吗?
解决方案
最后,我在这里找到了一个解决方案do.call
do.call(foo, list(val)) # returns "value"
推荐阅读
- java - 向运行的 tomcat 添加新的(未使用的)jar 是否存在风险
- excel - Excel Vba 使用带有按钮的自动过滤器将所有 excel 数据复制到工作表
- laravel - LARAVEL 部署后有什么命令可以执行吗?
- visual-studio-2015 - 尽管设置为关闭,但在 getter 上自动格式化分号上的语句
- google-sheets - 条件日期格式
- c# - 如何在 aspx 标记中附加一个字符串以访问资源文件?
- typescript - 在 vue 模板中使用 Typescript 静态方法
- asp.net-mvc - 向数据库 mvc 添加多个东西的不那么懒惰的方式
- php - PHP如何从一个数组创建另一个数组
- android - 在 Thread 上刷新 UI 并更改 Fragment 时出错