R:将数据框返回到工作空间,并从函数参数中命名

时间:2015-04-23 17:18:24

标签: 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")

1 个答案:

答案 0 :(得分:4)

这是一个非常不寻常的请求,你确定你真的想创建一堆不同的data.frame varaiables而不是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")