Переформатировать дату и время в R

У меня есть два столбца данных (обе даты), и мне нужно найти количество дней между ними (в основном разницу между столбцами).

Один из столбцов отформатирован следующим образом (импортирован из SPSS) — в качестве примера я включил только две строки:12 марта 2020 г. 15:51:3206 апреля 2019 г. 17:08:03

Что мне нужно, чтобы это выглядело так:

  1. Мне нужен новый столбец, в котором нет времени и который включает только даты (т. е. избавиться от 15:51:32 и 17:08:03).
  2. Мне нужно переформатировать даты в числа в порядке год-месяц-дата, чтобы они соответствовали формату другого моего столбца (т. е. мне нужно, чтобы март стал 03, а апрель - 04, в дополнение к изменению порядка).

Я пробовал использовать пакет lubridate, но это не удалось из-за форматирования этого столбца (если это полезно, класс этого столбца в настоящее время является «символьным»). Обратите внимание: мой набор данных довольно большой, поэтому я ценю решение, которое работает сразу для всего столбца.

Я был бы признателен за вашу помощь в этом.

1 ответ

      library(lubridate)
as_date(dmy_hms(c("12-Mar-2020 15:51:32", "06-Apr-2019 17:08:03")))

Результат

      [1] "2020-03-12" "2019-04-06"
Другие вопросы по тегам