获取R中的函数名称

时间:2014-06-13 09:18:39

标签: r function variables

我有一个函数f:

f=function(){}

和变量

var=f

我想知道如何使用var获取函数f的名称? 我试过了:

as.character(quote(var))

但我得到“var”,如果我尝试eval(var),我得到函数(){}

有没有人有解决方案?感谢

2 个答案:

答案 0 :(得分:4)

执行:var=f时,您实际上是在创建一个与var具有相同内容的新变量f。 总之,您不能在您给出的示例中访问f的名称,因为R没有保留任何历史记录。

我不确定你想要做什么,但以下内容可能会有所帮助:

#definition of the function f
f=function(){}
#assignation of the reference 'f' instead of the content of f with substitute()
var=substitute(f)
#checking what is inside var
var
> f

#if you need to use f through var, you have to use eval()
eval(var)
> function(){}

答案 1 :(得分:1)

var=f指定function(){}var。它只知道它是一个函数并且“忘记”变量名。这段代码:

f <- function(){}
var <- f

具有与此相同的效果:

var <- function(){}