【发布时间】:2017-03-23 13:34:37
【问题描述】:
我想将一组函数(列表或向量)发送到另一个函数,然后在另一个函数中,我想获取我发送的那些单独函数的名称。我也想使用这些功能,但似乎工作正常。
例如:
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()) 的理解,但我想知道是否还有另一种我忽略的方法。
【问题讨论】:
-
挑战是在不评估其元素的情况下对
funclist向量进行子集化。可能有一些哄骗的方法。
标签: r function substitution