我想在一个函数内创建一个数据框并将其返回到工作区,但另外还可以在每次调用该函数时命名该数据框(通过将文本字符串作为函数参数传递)。以下是我最好的猜测,但我没有这样做。
func = function(named.df = "NA"){
df <- data.frame(c(1,2,3), c('a','b','c'))
assign(named.df, df)
}
func("my.data.frame")
最佳答案
这是一个非常不寻常的请求,您确定要创建一堆不同的 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")
关于R:将数据框返回到工作区,并从函数参数中命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29830302/