2016-12-01 4 views
-2

В настоящее время я работаю через пакет adehabitatLT. Я положил свою колонку дата_время в символы и назвал его да:Преобразование даты в класс POSIXct

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

головы (да)

[1] «7/08/2015 0:22 "" 7/08/2015 0:52 "" 7/08/2015 1:22 "" 7/08/2015 1:52 "" 7/08/2015 2:56 "" 7/08/2015 3:26"

Как вы можете видеть мой вход дата_время немного нетрадиционная и я думаю, что это, где происходит ошибка, потому что, когда я создать класс 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 (но не содержащие только дата, но также и время).

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

С наилучшими пожеланиями,

Sam

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

ответ

0

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

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

требуют (lubridate)

< - dmy_hm (да)

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

Find more info here

1

format должен быть изменен

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

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

+0

Большое вам спасибо akrun, это, кажется, работает! – SamR

+0

@SamR Рад помочь вам. Вы также можете проверить [здесь] (http://stackoverflow.com/help/someone-answers) – akrun