Использование data.table::fread в R для чтения в столбце даты в формате, отличном от ISO

#r #data.table #fread

#r #data.table #fread

Вопрос:

У меня есть файл, который я читаю. Все в порядке, за исключением одной детали. В файле даты хранятся в формате «мм / дд / гггг». Когда я пытаюсь прочитать это с помощью fread, я использую

 fread(..., select = c(var = "Date"))
 

Похоже, fread предполагает, что он находится в формате ISO, поэтому 9 января 2019 года, сохраненный как 1/9/2019, считывается как дата «0001-09-20», 20 сентября, год 1. Есть ли какой-либо способ указать формат, чтобы сообщить fread, как это прочитать? Это может быть в select или colClasses, хотя я предпочитаю select, поскольку я уже выбрал около 80 столбцов и указал их типы данных.

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

Ответ №1:

У вас есть два варианта.

  1. Считывается как символ и преобразуется дополнительным шагом.
  2. Заполните запрос функции в репозитории data.table на github, предоставив ваш минимальный пример файла, и дождитесь его реализации.

Лично я бы выбрал первый. Хорошо, что вы можете сделать и то, и другое.

Комментарии:

1. Спасибо, это ответ, который я искал!