2016-12-18 1 views
0

Я знаю, что это обычная проблема, но ни один из многих других вопросов, которые я видел, не исправил это для меня. Я пытаюсь преобразовать числовые метки времени в POSIXct, но независимо от того, что я делаю, это дает мне NA. Например:R: Преобразование числовой метки времени в объект POSIXct возвращает NA

as.POSIXct(20090319043255, format="%Y%m%d%H%M%S", origin="1970-01-01") 

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

Прежде чем спросить, да, я проверил языковой стандарт. Я в Соединенных Штатах.

+3

Вход должен быть строкой. 'as.POSIXct (as.character (20090319043255), format ="% Y% m% d% H% M% S ")' работает. – Psidom

+0

Почему числовые объекты не работают в этом случае? Я не знаю аргументов. –

+2

С числовым значением оно интерпретируется как * числовое время как число секунд с эпохи *, и вам не нужен параметр 'format' в этом случае, однако я не считаю, что это дает вам правильное как ваше значение, очевидно, является строкой с форматами. – Psidom

ответ

0

Я рекомендую использовать пакет lubridate. Попробуйте использовать приведенный ниже код.

> library(lubridate) 
> ymd_hms("20090319043255") 
[1] "2009-03-19 04:32:55 UTC" 
Смежные вопросы