user3419669
user3419669

Reputation: 293

Finding files present in directory

An analysis which I ran produced around 500 files which are named file1 to file500

However, some files in between are missing (such as file233 and file245 as well as others). I would like to further process them in a loop in R but then I would need to filter out the files which are not present.

Is there an easy way to store the number after file in a vector in R which I can then use for the loop?

v<-containing all numbers after file which are present in the directory

Should have mentioned that the files do not have the ending .txt but are just names fileXX where the XX is the number

Upvotes: 0

Views: 86

Answers (1)

Paul Hiemstra
Paul Hiemstra

Reputation: 60984

The best way is to simply create a list of the files that are actually present in the directory, like @beginneR said:

list_of_files = list.files('/path/to/dir')

do_some_processing = function(list_element) {
    # Perform some processing and return something
}
lapply(list_of_files, do_some_processing)

If you need the numbers in the filename, a simple regular expression will do:

> grep('[0-9]', sprintf('file%d', 1:100))
  [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18
 [19]  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36
 [37]  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54
 [55]  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72
 [73]  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90
 [91]  91  92  93  94  95  96  97  98  99 100

Upvotes: 2

Related Questions