Я использовал много постов, чтобы понять меня (например, здесь Список файлов R с несколькими условиями и здесь Как мне прочитать несколько файлов из нескольких каталогов в R для обработки? но я не могу выполнить то, что мне нужно в R.
У меня есть много файлов .csv, распределенных по нескольким подкаталогам, которые я хочу прочитать, а затем сохранить как отдельные объекты с соответствующим базовым именем.Результатом будет rbind каждого из этих файлов вместе. Вот пример структуры dir и некоторые из того, что я пробовал:
./DATA/Cat_Animal/animal1.csv
./DATA/Dog_Animal/animal2.csv
./DATA/Dog_Animal/animal3.csv
./DATA/Dog_Animal/animal3.1.csv
#read in all csv files
files <- list.files(path="./DATA", pattern="*.csv", full.names=TRUE, recursive=TRUE)
Но это приводит ко всем файлам во всех подкаталогах. Я хочу сопоставить определенные файлы (animalsX.csv) в определенных подкаталогах, соответствующих шаблону (X_Animal), например:
files <- dir(path=paste0("./DATA/", pattern="*+_Animal"), recursive=TRUE, full.names=TRUE, pattern="animal+.*csv")
После того, как я получу свой список файлов, я хочу прочитать каждый из них и сохранить каждый в базовом имени соответствующего файла.Таким образом, файл с именем animal1.csv будет сохранен в animal 1. Я думаю, что мне нужно использовать функцию basename () где-то в цикле, но не уверен, как.
Очень признателен за помощь. Я потратил много времени, пробуя различные варианты с небольшим прогрессом.