Вопрос

Я пытаюсь проанализировать вектор временной строки и наткнулся на странную ошибку. Например, если я запускаю следующий раздел кода, R вернул результат, как и ожидалось.

time_format="%m/%d/%Y %H:%M:%S"
t_1 = "03/13/2011 01:00:10"
as.POSIXct(t_1, format = time_format)

Выход:

[1] "2011-03-13 01:00:10 EST"

Однако, если я немного изменю время на 2 часа ночи

t_2 = "03/13/2011 02:00:10"
as.POSIXct(t_2, format = time_format)

Вывод стал:

[1] NA

Я могу воспроизвести его на R 2.11.1 и 2.12.2 в Windows 7 и XP. Кто -нибудь сталкивается с той же проблемой?

Спасибо, Дерек

Это было полезно?

Решение

Ты не может Расположение не существующих времен. 02:00:10 не существовало, так как мы «весны» в этот субботний вечер / воскресенье утром с переходом на дневное время. R знает это:

R> t_1 = "03/13/2011 01:00:10"; as.POSIXct(t_1, format = time_format)
[1] "2011-03-13 01:00:10 CST"
R> t_2 = "03/13/2011 02:00:10"; as.POSIXct(t_2, format = time_format)
[1] "2011-03-13 01:00:10 CST"
R> t_3 = "03/13/2011 03:00:10"; as.POSIXct(t_3, format = time_format)
[1] "2011-03-13 03:00:10 CDT"
R> 

На Linux моя библиотека часового пояса, кажется, справляется - 02:00:10 становится 01:00:10, когда час вычитается.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top