【发布时间】:2020-10-21 09:31:06
【问题描述】:
我想创建一个 R 函数,它是用户创建自己的新函数的“助手”。用户将代码作为参数传递,并将其合并到一个新函数中。
我很确定这需要非标准评估,并且我检查了以前的 StackOverflow 答案以及 Advanced R 中的 NSE 章节,但无法破解它。有谁知道如何使以下代码工作并返回 3?
create_new_function <- function(f){
task <- function(a, b){
f #how do I make f evaluate here as a+b?
}
return(task)
}
user_function <- create_new_function(a+b)
user_function(1,2)
我不希望用户在创建函数时必须传递 (a,b),而是在调用函数时访问它们,这就是嵌套的原因。
【问题讨论】:
-
你没有传递函数,你传递了一个
expression
标签: r