Проблемы с преобразованием parse_date_time символьного вектора - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть импортированный CSV в R, который содержит столбец дат и времени - он импортируется в R как символ. Формат: «30/03/2020 08:59». Я хочу преобразовать эти строки в формат, который позволяет мне работать с ними. Для простоты я создал фрейм данных, в котором есть один столбец этих дат (854) в этом формате.

Я пытаюсь использовать функцию parse_date_time из lubridate.

Работает нормально, когда я ссылаюсь на одно значение, например,

b=parse_date_time(consults_dates[3,1],orders="dmy HM") 

дает b=2020-03-30 09:08:00

Однако, когда я пытаюсь выполнить это в целом (consults_dates) , Я получаю сообщение об ошибке, например

c= parse_date_time(consults_dates,orders="dmy HM") gives error:

Предупреждение: все форматы не удалось проанализировать. Форматы не найдены.

Извинения - если это явно простой вопрос, первый день R после нескольких лет Matlab.

1 Ответ

1 голос
/ 07 апреля 2020

Вам нужно передать столбец в функцию parse_date_time, а не весь фрейм данных.

library(lubridate)
consults_dates$colum_name <- parse_date_time(consults_dates$colum_name, "dmy HM")

Однако, если у вас есть только один формат в столбце, вы можете использовать dmy_hm

consults_dates$colum_name <- dmy_hm(consults_dates$colum_name)

В базе R мы можем использовать:

consults_dates$colum_name <- as.POSIXct(consults_dates$colum_name, 
                                       format = "%d/%m/%Y %H:%M", tz = "UTC")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...