【问题标题】:How to save splitted data using the R function sapply within a defined folder? [duplicate]如何在定义的文件夹中使用 R 函数 sapply 保存拆分数据? [复制]
【发布时间】:2019-06-28 08:43:04
【问题描述】:

我有一个问题,我必须将一个文档拆分成不同的 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”中,如下所示:

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

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

非常感谢!!!

【问题讨论】:

    标签: r csv save filenames sapply


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我们可以使用pastesep

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-24
        • 2020-12-02
        • 1970-01-01
        • 1970-01-01
        • 2014-09-13
        • 1970-01-01
        相关资源
        最近更新 更多