Преобразование моих дат в класс POSIXct

В настоящее время я работаю над пакетом adehabitatLT. Я поместил свой столбец date_time в символы и назвал его da:

да<-as.character (Даты $ date_time)

голова (да)

[1] "08.07.2015 0:22" "08.07.2015 0:52" "08.07.2015 1:22" "08.07.2015 1:52" "08.07.2015 2: 56"" 08.07.2015 3:26"

Как вы можете видеть, мой ввод date_time немного нетрадиционен, и я думаю, что именно здесь происходит ошибка, потому что, когда я создаю класс POSIXct:

da<-as.POSIXct (strptime (as.character (dat $ date_time), "% d /% m /% y% H:% M:% S"))

Это создает класс, но я получаю NA для всех моих значений:

голова (да) [1] NA NA NA NA NA NA

Моя конечная цель здесь - создать объект класса ltraj (но не только с датой, но и со временем).

Любые идеи кто-нибудь?

С уважением,

Сэм

да<-as.POSIXct (strptime (as.character (LOCS $ Дата), "% г% м% d"))

2 ответа

Решение

При анализе сложных форматов даты / времени может быть полезно использовать пакет lubridate от Garrett Grolemund и Hadley Wickham.

В вашем случае просто сделайте

требуют (lubridate)

<- dmy_hm (да)

Разделитель и количество цифр для дня или месяца или часов и т. Д. Автоматически анализируются.

Найти больше информации здесь

format следует изменить на

as.POSIXct(strptime(da, "%d/%m/%Y %H:%M"))

Или, если месяц следует за днем, затем измените его на "%m/%d/%Y %H:%M"

Другие вопросы по тегам