R as.POSIXlt.POSIXct(x,tz)中出错:(从警告转换而来)未知时区';格林尼治标准时间';

R as.POSIXlt.POSIXct(x,tz)中出错:(从警告转换而来)未知时区';格林尼治标准时间';,r,lubridate,R,Lubridate,我发现自己面临着一个问题,而我没有找到解决方案的线索,这使得实际处理它变得非常困难。。下面是:在R(使用R-Studio)中,我尝试使用库lubridate创建一个日期对象: library(lubridate) ymd(20161001) 这会导致错误: as.POSIXlt.POSIXct(x,tz)中的错误: (从警告转换而来)未知时区“GMT” 最后一个命令的第二次运行(以及任何后续运行)将产生正确的结果: ymd(20161001) [1] "2016-01-01" 直到我重新启动

我发现自己面临着一个问题,而我没有找到解决方案的线索,这使得实际处理它变得非常困难。。下面是:在R(使用R-Studio)中,我尝试使用库
lubridate
创建一个日期对象:

library(lubridate)
ymd(20161001)
这会导致错误:

as.POSIXlt.POSIXct(x,tz)中的错误: (从警告转换而来)未知时区“GMT”

最后一个命令的第二次运行(以及任何后续运行)将产生正确的结果:

ymd(20161001)
[1] "2016-01-01"
直到我重新启动R会话,当第一次运行再次触发错误时。我已经检查了几个设置,但是从第一次运行到第二次运行,没有发现任何更改。例如,下面是我的
sessionInfo()
的输出:

Sys.timezone()
表示
[1]“欧洲/柏林”
Sys.getenv('TZ')
为空:


我确实发现其他人也遇到了同样的警告,比如or,但这些问题与时间有关,而我宁愿完全忽略时间,只处理日期。

我今天也遇到了同样的错误。我的代码在一个Rmarkdown文件中,该文件设置为作为tufte_html文档输出。我正在加载以下软件包:

library(lubridate)
library(tidyverse)
library(stringr)
library(extrafont)
library(extrafontdb)
library(tufte)
为了使代码正常工作,我执行了以下操作: 首先,我关掉了公司的VPN,怀疑这可能是问题所在,但当我使用家里的wifi而没有VPN时,仍然会出错。接下来,我更新了我所有的包,但仍然得到了错误。 然后,我关闭了我的Macbook并重新启动,但仍然出现了错误。 最后,我更改了脚本,不再将tidyverse作为一个整体加载,而是加载:

library(lubridate)
library(tibble)
library(dplyr)
library(readr)
library(extrafont)
library(extrafontdb)
library(tufte)
然后,我的Rmarkdown文件被呈现为html,没有未知的时区错误。不幸的是,我无法准确指出是什么修复了错误,或者为什么加载部分而不是整个tidyverse似乎对我起到了作用。你解决过你的问题吗


工作时我的会话信息:

R version 3.4.2 (2017-09-28)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.1

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] tufte_0.2       extrafontdb_1.0 extrafont_0.17  stringr_1.2.0  
[5] readr_1.1.1     dplyr_0.7.4     tibble_1.3.4    lubridate_1.7.1

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.13     Rttf2pt1_1.3.4   knitr_1.17       bindr_0.1       
 [5] magrittr_1.5     hms_0.3          R6_2.2.2         rlang_0.1.4     
 [9] tools_3.4.2      htmltools_0.3.6  yaml_2.1.14      rprojroot_1.2   
[13] digest_0.6.12    assertthat_0.2.0 bindrcpp_0.2     glue_1.2.0      
[17] evaluate_0.10.1  rmarkdown_1.8    stringi_1.1.6    compiler_3.4.2  
[21] backports_1.1.1  pkgconfig_2.0.1
这个问题的答案对我有用


例如,我在脚本中添加了
Sys.setenv(TZ='America/Detroit')

这里介绍的解决方案

在我的例子中,在代码开头包含Sys.setenv(TZ=“America/Lima”)之后,一切都正常。
请在

try:
Sys.setlocale(“LC_TIME”,“English”)
Tnx检查有效TZ值列表,但不幸的是,这没有起作用。行为依旧。@Taeke你找到解决办法了吗?我遇到了与ymd_hms相同的问题-第一个调用抛出相同的错误,第二个调用执行得非常好。没有,不幸的是,我还没有找到解决方案。如果你真的找到了解决办法,我很高兴听到这个消息!很抱歉响应太晚。您可以尝试
anytime::anydate(20161001)
,效果很好
Date
对象没有时区,因此首先不应该发生错误……不幸的是,我还没有解决这个问题。对我来说,你的解决方案(或者我应该称之为变通方案?)似乎很奇怪。我也不能让它工作;不管我是在tidyverse之前加载lubridate,还是在tidyverse之后加载lubridate,无论是否加载lubridate,我都会得到错误。似乎对我的系统没有影响。和你一样,我在公司的笔记本电脑上收到了这个错误。与此同时,我确实收到了一台更新了R/软件包的新笔记本电脑。但是没有改变这个行为。我用我的系统检查了一下,确实没有可用的TZ环境变量。不幸的是,设置它不会改变观察到的行为-仍然会得到一个
错误()
R version 3.4.2 (2017-09-28)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.1

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] tufte_0.2       extrafontdb_1.0 extrafont_0.17  stringr_1.2.0  
[5] readr_1.1.1     dplyr_0.7.4     tibble_1.3.4    lubridate_1.7.1

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.13     Rttf2pt1_1.3.4   knitr_1.17       bindr_0.1       
 [5] magrittr_1.5     hms_0.3          R6_2.2.2         rlang_0.1.4     
 [9] tools_3.4.2      htmltools_0.3.6  yaml_2.1.14      rprojroot_1.2   
[13] digest_0.6.12    assertthat_0.2.0 bindrcpp_0.2     glue_1.2.0      
[17] evaluate_0.10.1  rmarkdown_1.8    stringi_1.1.6    compiler_3.4.2  
[21] backports_1.1.1  pkgconfig_2.0.1