我想在函数内创建一个数据框并将其返回到工作区,但另外还能够在每次调用该函数时命名该数据框(通过将文本字符串作为函数参数传递)。以下是我最好的猜测,但没有这样做。
func = function(named.df = "NA"){
df <- data.frame(c(1,2,3), c('a','b','c'))
assign(named.df, df)
}
func("my.data.frame")
Run Code Online (Sandbox Code Playgroud)
这是一个非常不寻常的请求,您确定要创建一堆不同的 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")
Run Code Online (Sandbox Code Playgroud)