Я столкнулся с проблемой, для которой я не могу найти ключ к решению, что очень затрудняет ее решение. Вот: в R (с R-Studio) я пытаюсь создать объект Date с помощью библиотека lubridate
:
library(lubridate)
ymd(20161001)
что приводит к ошибке:
Ошибка в as.POSIXlt.POSIXct(x, tz): (преобразовано из предупреждения) неизвестный часовой пояс 'GMT'
Второй запуск (и любые последующие запуски) последней команды дает правильный результат:
ymd(20161001)
[1] "2016-01-01"
пока я не перезапущу свой R-сеанс, когда снова первый запуск вызовет ошибку. Я проверил несколько настроек, но не нашел ничего меняющегося от первого ко второму запуску. Вот, например, вывод моего sessionInfo()
:
R version 3.3.2 (2016-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=Dutch_Netherlands.1252 LC_CTYPE=Dutch_Netherlands.1252 LC_MONETARY=Dutch_Netherlands.1252 LC_NUMERIC=C
[5] LC_TIME=Dutch_Netherlands.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] lubridate_1.6.0
loaded via a namespace (and not attached):
[1] magrittr_1.5 tools_3.3.2 stringi_1.1.2 stringr_1.1.0
Sys.timezone()
говорит [1] "Europe/Berlin"
, а Sys.getenv('TZ')
пусто: ""
Я нахожу, что другие натыкаются на такое же предупреждение, например это сообщение в блоге или здесь, но эти проблемы связаны с временем, тогда как я бы предпочел вообще игнорировать время и иметь дело с датами эм> только.
Sys.setlocale("LC_TIME","English")
- person Zahiro Mor   schedule 09.02.2017anytime::anydate(20161001)
, который отлично работает.Date
объекты не имеют часовых поясов, поэтому ошибка не должна возникать в первую очередь... - person Dirk Eddelbuettel   schedule 21.11.2017Sys.setenv(TZ='GMT')
я добавил tz=GMT в dmydmy(pulver420w$Date ,tz="GMT")
, и все заработало. - person MarBlo   schedule 10.02.2018