r - 在 R 中,将函数向量传递给另一个函数并按名称引用每个传递的函数

标签 r function substitution

我想将一组函数(列表或向量)发送到另一个函数,然后在另一个函数中我想获得我发送的那些单独函数的名称。我也想使用这些功能,但似乎工作正常。

例如:

funcA <- function(x,y){z=x+y}
funcB <- function(x,y){z=x-y}

myfunc <- function(x,y,funclist=c(funcA, funcB)){
func1 <- deparse(substitute(funclist[1]))
}

我希望 func1 等于“funcA”,但在本例中它等于“funclist[1]”。如果我用单个函数名称替换列表,例如

myfunc <- function(x,y,funclist=funcA){
func1 <- deparse(substitute(funclist))
}

然后我得到 func1 等于“funcA”。我认为我的缺点在于对 deparse(substitute()) 的理解,但我想知道我是否忽略了另一种方法。

最佳答案

funcA <- function(x,y){z=x+y}
funcB <- function(x,y){z=x-y}

myfunc <- function(x,y,funclist=c(funcA, funcB)){
  func.vec <- as.character(substitute(funclist))
  func1 <- func.vec[2]
  print(func1)
  func2 <- func.vec[3]
  print(func2)
}

myfunc(1,2, c(funcA,funcB))
[1] "funcA"
[1] "funcB"

关于r - 在 R 中,将函数向量传递给另一个函数并按名称引用每个传递的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40512092/

相关文章:

function - 如果在数据库中找不到每个输入的特定错误消息

python : different regular expressions with different substitutions

python - Python 中的字符串或列表替换

r - 将数据框中的缺失值与另一个值匹配

R,utf-8 字符似乎无法滑动

r - 如何修复tidygraph中的 “function should not be called directly”错误?

function - 用于在另一个函数内部定义辅助函数的 OCaml 语法?

r - R : Bond Setup 中的 QuantLib

javascript - 将值传递给 JQuery 中的函数和变量范围

python - 如何使用 re.sub 基于模式字典替换文本的某些部分并替换 python 中的值?