rbind.fill на основе общего шаблона R - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть много текстовых файлов в R, написанных в следующем формате:

building_000000.txt
building_window_roof_000123.txt
building_window_roof_000126.txt
...

, которые я перечислил с помощью этой команды

files_list <- list.files(pattern="txt")

Что я хотел сделать состоит в том, чтобы связать все файлы (фреймы данных), которые имеют этот шаблон "building_roof_window _ \\\\\ d +", в один файл .txt с помощью mget (ls). Я также хотел использовать «rbind.fill», потому что не все кадры данных имеют одинаковое количество столбцов. Вот что я пытался сделать:

building_roof_window <- do.call("rbind.fill", mget(ls(pattern="^building[_]roof[_]window[_]\\\\\\d+")))

Но в результате получается пустой фрейм данных. Что мне не хватает? Возможно, это связано с небрежным использованием регулярных выражений?

1 Ответ

0 голосов
/ 02 апреля 2020

Основная задача - выбрать имена файлов, используя правильное регулярное выражение. Мы можем использовать регулярное выражение, как показано ниже:

files_list  <- list.files(pattern= 'building_roof_window_\\d+.*\\.txt$')
building_roof_window <- do.call(plyr::rbind.fill, mget(files_list))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...