R as.POSIXct ошибка разбора - PullRequest
       6

R as.POSIXct ошибка разбора

3 голосов
/ 14 марта 2011

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

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

1 Ответ

12 голосов
/ 14 марта 2011

Вы не можете проанализировать несуществующее время.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, поскольку вычитается час.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...