Я испытываю очень странное поведение анализа strptime.Странное поведение strptime в R
Это моя R сессия на окна машины
> R.Version()$version.string
[1] "R version 2.15.2 (2012-10-26)"
> a <- (strptime( "29-MAR-13 02.26.53.000000000 AM" , "%d-%B-%y %I.%M.%OS %p"))
> str(a)
POSIXlt[1:1], format: "2013-03-29 02:26:53"
> # convert to double: doesn't work
> as.double(a)
[1] NA
> b <- (strptime( "29-MAR-13 04.26.53.000000000 AM" , "%d-%B-%y %I.%M.%OS %p"))
> #same as `a`, but another hour
> str(b)
POSIXlt[1:1], format: "2013-03-29 04:26:53"
> #convert to double: works
> as.double(b)
[1] 1364520413
> #WTF ???
Я тестировал тот же код на другой машине (Linux) с различной малой версии R. Код работал, как и ожидалось, в обоих случаях:
> R.Version()$version.string
[1] "R version 2.15.1 (2012-06-22)"
> a <- (strptime( "29-MAR-13 02.26.53.000000000 AM" , "%d-%B-%y %I.%M.%OS %p"))
> str(a)
POSIXlt[1:1], format: "2013-03-29 02:26:53"
> # convert to double: WORKS!
> as.double(a)
[1] 1364513213
> b <- (strptime( "29-MAR-13 04.26.53.000000000 AM" , "%d-%B-%y %I.%M.%OS %p"))
> #same as `a`, but another hour
> str(b)
POSIXlt[1:1], format: "2013-03-29 04:26:53"
> #convert to double: works
> as.double(b)
[1] 1364520413
>
Может кто-нибудь сказать мне, в чем проблема? Я нашел ошибку в R?
Работает для меня в 2.15.2, 2.15.3 и 3.0.1. W7, 64 бит. –
Пожалуйста, добавьте вывод 'sessionInfo() $ platform' и другую возможную информацию о вашей ОС. – Roland
работает для меня с 3.1 (разработка), 32-битным Ubuntu, но я получаю разные значения (разные часовые пояса?) –