R:将数据帧返回到工作区,并从函数参数中命名

R:将数据帧返回到工作区,并从函数参数中命名,r,function,R,Function,我想在一个函数中创建一个数据帧并将其返回到工作区,但另外,我想在每次调用该函数时能够命名该数据帧(通过将文本字符串作为函数参数传递)。下面是我最好的猜测,但没有做到 func = function(named.df = "NA"){ df <- data.frame(c(1,2,3), c('a','b','c')) assign(named.df, df) } func("my.data.frame") func=function(name.df=“NA”){ df这是一个非

我想在一个函数中创建一个数据帧并将其返回到工作区,但另外,我想在每次调用该函数时能够命名该数据帧(通过将文本字符串作为函数参数传递)。下面是我最好的猜测,但没有做到

func = function(named.df = "NA"){
  df <- data.frame(c(1,2,3), c('a','b','c'))
  assign(named.df, df)
}

func("my.data.frame")
func=function(name.df=“NA”){

df这是一个非常不寻常的请求,您确定要创建一组不同的data.frame变量而不是data.frames的命名列表吗?后者对于R来说似乎更为自然

但无论如何,您需要指定要在其中分配新data.frame的环境。现在您默认为函数环境,因此它在函数运行后消失。您可能希望在全局环境中分配

func <- function(named.df = "NA") {
  df <- data.frame(c(1,2,3), c('a','b','c'))
  assign(named.df, df, envir=.GlobalEnv)
}

func("my.data.frame")
func