Использование R для отображения всех файлов с указанным расширением

Я очень новичок в R и работаю над обновлением R-скрипта для итерации через ряд таблиц .dbf, созданных с использованием ArcGIS, и создаю серию графиков.

У меня есть каталог C: \ Scratch, который будет содержать все мои .dbf-файлы. Однако, когда ArcGIS создает эти таблицы, он также содержит файл .dbf.xml. Я хочу удалить эти файлы .dbf.xml из списка файлов и, таким образом, свою итерацию. Я пробовал искать и экспериментировать с регулярными выражениями безрезультатно. Это основное выражение, которое я использую (исключая все различные эксперименты):

files <- list.files(pattern = "dbf") 

Может ли кто-нибудь дать мне какое-то направление?

 files <- list.files(pattern = "\\.dbf$") 

$ в конце означает, что это конец строки. "dbf$" тоже будет работать, но добавляет \\. ( . является специальным символом в регулярных выражениях, поэтому вам нужно его избежать), убедитесь, что вы сопоставляете только файлы с расширением .dbf (в случае, если у вас есть файлы .adbf ).

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

 filenames <- Sys.glob("*.dbf") 

Подстройте шаблон, чтобы найти "\\.dbf" в конце строки, используя символ $ :

 list.files(pattern = "\\.dbf$") 

Я не очень хорош в использовании сложных регулярных выражений, поэтому я бы выполнил такую ​​задачу следующим образом:

 files <- list.files() dbf.files <- files[-grep(".xml", files, fixed=T)] 

В первой строке перечислены все файлы из рабочего каталога. Во-вторых, все, что содержит «.xml» (grep возвращает индексы таких строк в векторных файлах, подмножество с отрицательными индексами удаляет соответствующие записи из вектора). «фиксированный» аргумент для функции grep - это всего лишь моя прихоть, поскольку я обычно хочу, чтобы она отображала грубое сопоставление шаблонов без причудливых regexprs в стиле Perl, что может вызвать удивление для меня.

Я знаю, что такое решение просто отражает недостатки в моем образовании, но для новичков это может быть полезно =), по крайней мере, это легко.

Дает вам список файлов с полным путем:

  Sys.glob(file.path(file_dir, "*.dbf")) ## file_dir = file containing directory 
  • Как изменить языковые настройки в R
  • Ограниченная суммарная сумма?
  • условие имеет длину> 1, и только первый элемент будет использоваться в if else statement
  • Автоматическое расширение R-фактора в набор переменных индикатора 1/0 для каждого уровня фактора
  • Функция не найдена в R doParallel 'foreach' - Ошибка в {: task 1 failed - "не удалось найти функцию" растровый "
  • Как сортировать буквы в строке?
  • Перемещение столбцов в data.frame () без повторного набора
  • Объедините (rbind) кадры данных и создайте столбец с именем исходных кадров данных
  • R: неверная многобайтовая строка
  • индекс возврата из вектора значения, ближайшего к данному элементу
  • используя substitute для получения имени аргумента с помощью
  • Interesting Posts

    Почему нельзя «преобразовать (s.begin (), s.end (), s.begin (), tolower)« успешно выполняться?

    Звук перекрывается несколькими нажатиями кнопок

    Совместное использование интернет-соединений с беспроводной хостинговой сетью (WHN) не предоставляет DNS-сервер для клиентов WHN

    Excel VBA – электронная почта не отправляется при блокировке компьютера

    Не удалось подключиться к PPTP VPN в Ubuntu: отключен плагин VPN: 1

    Как выбрать html-узлы по ID с помощью jquery, когда идентификатор содержит точку?

    Как загрузить и запустить версию USBView для Windows (устройство просмотра USB-устройств)?

    Измерьте время выполнения для Java-метода

    Назначение звездочки перед свойством CSS

    Как добавить фотографию в мою учетную запись в Outlook 2010?

    Селен WebDriver и DropDown Boxes

    Простой mdadm RAID 1, не активирующий запасной

    Разрешение на проверку Android для LocationManager

    Как использовать Twitter Bootstrap 3 для сайта, не отвечающего требованиям?

    Глобальная горячая клавиша в консольном приложении

    Давайте будем гением компьютера.