从R中的不同目录读取多个txt文件

从R中的不同目录读取多个txt文件,r,regex,R,Regex,我在不同的目录中有几个txt文件。我想在R中分别读取每个文件,稍后我将对每个文件进行一些分析 除最后一个文件夹外,目录与以下目录相同: c:/Desktop/ATA/1/"files.txt" c:/Desktop/ATA/2/"files.txt" c:/Desktop/ATA/3/"files.txt" ... ... 所有目录中的文件都具有相同的名称,最后一个文件夹从1开始到最后一个顺序。也许您可以尝试: list_file使用sprintf或类似工具创建所有要读取的文件名。然后使用re

我在不同的目录中有几个txt文件。我想在R中分别读取每个文件,稍后我将对每个文件进行一些分析

除最后一个文件夹外,目录与以下目录相同:

c:/Desktop/ATA/1/"files.txt"
c:/Desktop/ATA/2/"files.txt"
c:/Desktop/ATA/3/"files.txt"
...
...
所有目录中的文件都具有相同的名称,最后一个文件夹从1开始到最后一个顺序。

也许您可以尝试:


list_file使用sprintf或类似工具创建所有要读取的文件名。然后使用read.table或任何用于读取文本文件的工具

lapply(sprintf("c:/Desktop/ATA/%d/files.txt", 1:10), function(x) 
           read.table(x, header = TRUE))

将10替换为您拥有的文件夹数

首先感谢各位,我混合了你们的代码并做了一些修改:

common_path = "c:/Desktop/ATA/"

primary_dirs = length(list.files(common_path)) # Gives no. of folders in path

list_file <- sprintf("c:/Desktop/ATA/%d/files.txt", 1:primary_dirs)
for(i in 1:length(list_file))
{
  data = read.table(list_file[i],header = T, sep = "\t")

}

因此,通过这种方式,文件夹是根据1,2,3而不是1,10,11,2,3进行排序的

谢谢你的回答,但是我有一个问题,list.files被排序为1 10 c:/Desktop/ATA/1/files.txt c:/Desktop/ATA/10/files.txt c:/Desktop/ATA/2/files.txt如何解决这个问题是1,2,3等等。@user225499,实际上,我不知道…:在使用R处理文件之前,我宁愿在我的环境中重命名我的文件夹。Ronak Shah的回答是否给了您相同的订购问题?