打开放在不同文件夹中的多个文件

时间:2014-07-26 19:33:39

标签: r if-statement for-loop

希望有人可以帮助我。我对R的了解非常基础,当我不得不使用循环和条件时,我会感到困惑。问题是我有一个文件夹(结果)。在这个文件夹中,我有几个子文件夹(01,02等)。每个子文件夹都有不同的文件。其中一个文件是文件RESULTS_FILE(.cvs)。此文件在每个子文件夹中具有相同的名称,它是具有不同信息的数据框。该数据框的第一行是变量的名称。我想要做的是将所有RESULTS_FILE放在一个数据框中。重要的一点是,在这个新数据框中,只有第一行应该包含变量的名称。任何的想法?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以通过两个步骤完成此操作:

  1. 使用lapply操作文件夹名称,使用read.csv功能读取每个数据文件。这将返回数据框列表。
  2. do.callrbind一起使用,将这些数据框合并为一个数据框。
  3. 假设您已将所有文件夹的名称存储在folders的向量folders <- c("foo", "bar")中,您可以使用:

    dfs <- lapply(folders, function(f) read.csv(file.path(f, "RESULTS_FILE.cvs")))
    dat <- do.call(rbind, dfs)