Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.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
在函数中将dataframe的名称转换为字符串_R_Function - Fatal编程技术网

在函数中将dataframe的名称转换为字符串

在函数中将dataframe的名称转换为字符串,r,function,R,Function,我有许多数据帧,我想通过一个函数运行这些数据帧,该函数创建一个目录,并将该数据帧的名称作为文件夹名 我试过: Create_dir = function(data){ filename = deparse(substitute(data)) dir.create(filename, showWarnings = FALSE) } 及 还有一些其他方法,它们在函数外部都能很好地工作,但在函数内部,它们要么将文件夹命名为“data”,要么不工作,因为filename相当于data

我有许多数据帧,我想通过一个函数运行这些数据帧,该函数创建一个目录,并将该数据帧的名称作为文件夹名

我试过:

Create_dir = function(data){
   filename = deparse(substitute(data))
   dir.create(filename, showWarnings = FALSE)
   }

还有一些其他方法,它们在函数外部都能很好地工作,但在函数内部,它们要么将文件夹命名为“data”,要么不工作,因为filename相当于dataframe中所有数据的字符串列表


如果有任何帮助,我们将不胜感激。

第一个函数实际有效,谢谢,抱歉。

第一个函数实际有效,谢谢,抱歉。

如果所有数据帧都在一个列表中,并且您使用列表的名称作为文件名,这很简单。这很难做到,否则很难做到概括性。如果您有“许多数据帧”,我假设您不想单独写出
Create_dir(mtcars);创建_dir(iris);创建_dir(钻石)
,因此请考虑您希望如何迭代数据,因为这将影响答案。您的第一个函数对我有用<代码>TestFolder Hi Gregor,我打算在一个列表上使用for循环:对于(列表中的I){Create_dir(I)}Ian,谢谢,实际上也是这样,它一定会被函数中的其他一些代码阻塞。我再看看,与从
names(list)
创建目录相比,这种方法有什么优势,例如
sapply(names(list),dir.create)
?如果列表未命名,则必须具有
data.frames
的名称才能创建列表。如果所有数据帧都在一个列表中,并且您使用列表的名称作为文件的名称,这一点很简单。这很难做到,否则很难做到概括性。如果您有“许多数据帧”,我假设您不想单独写出
Create_dir(mtcars);创建_dir(iris);创建_dir(钻石)
,因此请考虑您希望如何迭代数据,因为这将影响答案。您的第一个函数对我有用<代码>TestFolder Hi Gregor,我打算在一个列表上使用for循环:对于(列表中的I){Create_dir(I)}Ian,谢谢,实际上也是这样,它一定会被函数中的其他一些代码阻塞。我再看看,与从
names(list)
创建目录相比,这种方法有什么优势,例如
sapply(names(list),dir.create)
?如果列表未命名,则必须具有
data.frames
的名称才能创建列表。
Create_dir = function(data){
   list = lst(data, "x")
   filename = names(list)[1]
   dir.create(filename, showWarnings = FALSE)
   }