Вероятно, было бы лучше перечислить файлы, которые вы хотите загрузить, а затем зациклить этот список, чтобы загрузить их.list.files
твой друг здесь.Мы можем использовать регулярное выражение для вывода списка только тех файлов, которые заканчиваются на "_Stats.csv"
.Например, в моем текущем рабочем каталоге у меня есть следующие файлы:
$ ls | grep Stats
bar_Stats.csv
foobar_Stats.csv
foobar_Stats.csv.txt
foo_Stats.csv
Только три из них являются CSV-файлами, которые я хочу загрузить (файл .txt
не соответствует показанному вами шаблону).Мы можем получить эти имена файлов, используя list.files()
:
> list.files(pattern = "_Stats.csv$")
[1] "bar_Stats.csv" "foo_Stats.csv" "foobar_Stats.csv"
Затем вы можете зациклить это и прочитать файлы. Что-то вроде:
fnames <- list.files(pattern = "_Stats.csv$")
for(i in seq_along(fnames)) {
assign(paste("file_", i, sep = ""), read.csv(fnames[i]))
}
Это создаст сериюобъекты file_1
, file_2
, file_3
и т. д. в глобальном рабочем пространстве.Если вы хотите, чтобы файлы в списке, вы могли бы вместо lapply
вместо fnames
:
lapply(fnames, read.csv)
и, если необходимо, do.call
может помочь объединить файлы из списка:
do.call(rbind, lapply(fnames, read.csv))