list.files liest ein Verzeichnis aus und gibt einen Vektor mit Datei- oder Ordnernamen zurück. Dabei lassen sich mit dem Parameter pattern komplexe Filter als reguläre Ausdrücke realisieren.

R-Syntax von list.files

list.files(path = ".", pattern = NULL, all.files = FALSE,
           full.names = FALSE, recursive = FALSE,
           ignore.case = FALSE, include.dirs = FALSE, no.. = FALSE)

Der erste Parameter gibt den Pfad an. Gibt man hier nichts an, wird das aktuelle Verzeichnis (Working Directory verwendet, siehe auch getwd() und setwd().

Mit dem zweiten Parameter pattern kann die Dateiliste gefiltert werden, also z.B. pattern = „\\.(jpg|jpeg)“ liefert alle Dateinamen von jpeg-Bildern zurück, genauer gesagt alle Dateinamen, welche „.jpg“ oder „.jpeg“ enthalten. Wie mächtig reguläre Ausdrücke sind und wie ihr diese Power nutzt, könnt ihr in meinem Blogbeitrag nachlesen.

Mit dem Parameter recursive lassen sich auch alle Unterverzeichnisse mit durchsuchen.

 

Beispiel-Code

#alle Dateien und Ordner im aktuellen Working Directory
list.files()
#Auflistung aller jpg-Dateien, auch der Unterordner
list.files(pattern="\\.(jpg|jpeg)",recursive=TRUE)
#Anzahl der Dateien und Ordner, welche mit einem Großbuchstaben beginnen
list.files(pattern="^[A-Z]")