Мне нужно импортировать различные csv
файлы из источника в список с помощью lapply
.
Дело в том, что файлы csv, которые мне нужны, например, 100, но в источнике их всего 80.
Как я могу пропустить файлы, которые не включены в исходный код?
Вот мой код:
stations <- read.csv("stations.csv", header = TRUE)
filenames <- paste(stations$ID, "csv", sep = ".") #define the filenames
directory <- "~I/am/not/that/dumb" #set directory where take files to read
filenames <- file.path(directory, filenames) #construct the files paths
list <- lapply(filenames, read.csv, header = FALSE, stringsAsFactors = FALSE) #import the csv into a list
Но я получил ошибку:
Ошибка в файле (файл, "rt"): не удается открыть соединение. Дополнительно: Предупреждение: в файле (файл, "rt"): невозможно открыть файл '/ Users / I / am / not / that / dumb / 26003. csv ': нет такого файла или каталога
очевидно, потому что файл 26003.csv не содержится в исходнике.
Есть предложения, как пропустить несуществующие файлы?
Общее количество импортируемых CSV-файлов >> 100, поэтому я не могу сделать это вручную.
dir(directory)
или пересечение этого с именами файлов:myFilenames <- intersect(dir(directory), filenames))
должен возвращать вектор имен файлов в вашем исходном csv, которые фактически находятся в каталоге. - person lmo   schedule 19.10.2016Filter
удалить несуществующие файлы с помощьюfile.exists
? - person Abdou   schedule 19.10.2016