如何在定义的文件夹中使用 R 函数 sapply 保存拆分数据?

How to save splitted data using the R function sapply within a defined folder?

我有一个问题,我必须将一个文档拆分成不同的 csv 文件,这些文件具有我用来拆分原始文件的列的标题。

由于多个用户将不得不使用这个脚本,我将其设计为每个用户只需输入一次他的工作目录,脚本中提到的其他文件夹是根据用户的工作创建的目录。这看起来如下:

# Determination of user specific location
base_direction <- "C:/users/USER1/Desktop"

# Create "FolderA"
folder_foldera <- "FolderA"
path_foldera <- file.path(base_direction, folder_foldera)
dir.create(path_foldera)

# Create "FolderA/Data"
folder_foldera_data <- "Data"
path_foldera_data <- file.path(base_direction, folder_foldera, folder_foldera_data)
dir.create(path_foldera_data)

这些文件夹的创建工作得很好。 然后,我必须将单个文档保存在我在 "FolderA" 中创建的文件夹 "Data" 中。因此,我使用此代码:

# Filtering and separating into different files
listed <- split(table.t, table.t$sss)
sapply(names(listed),
   function (x) write.table(listed[[x]], file=paste0(path_foldera_data, x, ".csv")))

文件的拆分工作得很好,但如果保存正确,我会遇到一些问题。现在,单个文档保存在文件夹 "Data" 旁边的 "FolderA" 中,如下所示:

但是,我希望将数据保存在文件夹 "Data" 中,如下所示:

我认为 write.table(listed[[x]], file=paste0(path_foldera_data, x, ".csv")) 部分有错误,但由于我还不太习惯 R,我不知道在哪里寻找它,我将不胜感激,如果你可以帮我解决这个问题。

非常感谢!!!

尝试在您的 write.table 命令中添加“/”

sapply(names(listed), function (x) 
    write.table(listed[[x]], file=paste0(path_foldera_data, "/", x, ".csv")))

我们可以使用 pastesep

lapply(names(listed), function(x)
     write.table(listed[[x]], quote = FALSE, row.names = FALSE,
          file = paste(path_colders_data x, ".csv", sep= "/")))