Сначала вы можете получить все каталоги файлов:
all.files = list.files(recursive = T)
Затем ваш CSV-файл будет иметь те файлы, которые имеют наибольшее количество прямых слешей (как вы сказали, это всегда последний: * 1004).*
library(magrittr)
all.files[stringr::str_count(all.files, pattern = "/") %>% .[equals(., max(.))]]
поочередно, если это единственные файлы CSV в ваших подкаталогах, ваша работа будет намного проще:
csv.files = grep(pattern = ".csv", all.files, value = T)
или, если целевые файлы CSV находятся на самом низком уровне, но нетолько те, которые там есть, и не единственные CSV-файлы в подкаталогах, вы можете объединить эти два:
all.files[stringr::str_count(all.files, pattern = "/") %>% .[equals(., max(.))]] %>% grep(pattern = "csv",., value = T)