Вопрос
Я пытаюсь проанализировать вектор временной строки и наткнулся на странную ошибку. Например, если я запускаю следующий раздел кода, 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, когда час вычитается.
Не связан с StackOverflow