Чтение определенных файлов в каталоге в R - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь перечислить файлы в каталоге

files = list.files("folder/", pattern="csv")

Например, если вывод

a.csv
b.csv
c.csv

Теперь я хотел бы выбрать только определенные файлы изпапку, используя list ниже в качестве фильтра. Имена файлов без расширения сохраняются в списке.

list <- list("a", "b")

Я бы хотел хранить только a.csv и b.csv в files

Любые предложения покак это сделать?

1 Ответ

1 голос
/ 18 октября 2019

Вы можете сгенерировать шаблон регулярного выражения, используя ваш список имен файлов:

lst <- list("a", "b")
pat <- paste0("\\b(", paste(lst, collapse="|"), ")\\b")
files = list.files("folder/", pattern="csv")
files.keep <- grep(pat, files, value=TRUE)
files.keep

[1] "a.csv" "b.csv"

Это предполагает, что вы будете использовать имена файлов, которые имеют границы слов с обеих сторон. Это работает с приведенными выше данными, так как используемое имя с самого начала, а также расширение справа начинается с точки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...