Предлагаемое решение с использованием list.files
:
Если у нас много файлов, мы можем захотеть сделать это только один раз, в противном случае мы можем вставить функцию (и передать path_to_root_directory
вместо found_files
в функция)
found_files <- list.files(path_to_root_directory, recursive=FALSE)
Поведение как file.exists
(возвращаемое значение логическое):
fileExIsTs <- function(file_path, found_files) {
return(tolower(file_path) %in% tolower(found_files))
}
Возвращаемое значение - это файл с орфографией, найденный в каталоге, или character(0)
, если нет совпадения :
fileExIsTs <- function(file_path, found_files) {
return(found_files[tolower(found_files) %in% tolower(file_path)])
}
Редактировать:
Новое решение, соответствующее новым требованиям:
keywordExists <- function(keyword, found_files) {
return(any(grepl(keyword, found_files, ignore.case=TRUE)))
}
keywordExists("NaMe", found_files=c("filename.csv", "morefilenames.csv"))
Возвращает:
[1] TRUE
Или
Возвращаемое значение - это файлы с орфографией, найденными в каталоге, или character(0)
, если нет совпадения:
keywordExists2 <- function(file_path, found_files) {
return(found_files[grepl(keyword, found_files, ignore.case=TRUE)])
}
keywordExists2("NaMe", found_files=c("filename.csv", "morefilenames.csv"))
Возвращает:
[1] "filename.csv" "morefilenames.csv"