Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取R中函数的名称_R_Function_Variables - Fatal编程技术网

获取R中函数的名称

获取R中函数的名称,r,function,variables,R,Function,Variables,我有一个函数f: f=function(){} 和一个变量 var=f 我想知道如何使用var获取函数f的名称? 我试过: as.character(quote(var)) 但是我得到“var”,如果我尝试eval(var),我得到function(){} 有人有解决办法吗?感谢var=f将function(){}分配给var。它只知道它是一个函数,“忘记”变量名。此代码: f <- function(){} var <- f fvar=f将function(){}分配给va

我有一个函数f:

f=function(){}
和一个变量

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

as.character(quote(var))
但是我得到“var”,如果我尝试eval(var),我得到function(){}


有人有解决办法吗?感谢
var=f
function(){}
分配给
var
。它只知道它是一个函数,“忘记”变量名。此代码:

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

f
var=f
function(){}
分配给
var
。它只知道它是一个函数,“忘记”变量名。此代码:

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

f当您这样做时:
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(){}

当您这样做时:
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(){}

如果你做了
var=f
,那么你已经复制了
f
,并将其命名为
var
。当然,它的名字现在是
var
。如果你这样做了
var=f
,那么你已经复制了
f
,并将其命名为
var
。当然,它的名字现在是
var
。替代品就是我要找的。这就是我要找的。感谢