2017-10-10 96 views
2

错误阻止了我编织我的文档。Rstudio中的未知时区

我收到的错误是

Quitting from lines 79-81 (Project_GYMBO.Rmd) 
Error in mutate_impl(.data, dots) : 
    Evaluation error: (converted from warning) unknown timezone 'default/America/Toronto'. 

导致错误的线条非常简单。

weight.rm %>% mutate(datetime = ymd_hms(datetime)) %>% head 

的数据看起来像

data.frame(stringsAsFactors=FALSE, 
    datetime = c("2017-10-09 16:03:09", "2017-10-09 15:36:23", 
       "2017-10-09 15:04:53", "2017-10-09 13:01:23", 
       "2017-10-09 12:33:16", "2017-10-09 12:05:41"), 
      WR = c(87, 69, 61, 51, 50, 48) 
) 

这给了我

Warning message: 
In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/America/Toronto' 

我目前从多伦多工作。

从我可以告诉,这是因为R无法正确确定我的时区。当我拨打Sys.timezone()时,我得到了NA。

这是一个已知的问题?谁能告诉我为什么R无法理解我的时区?

+0

我不能够通过复制来重现问题/粘贴UR数据 – akrun

+0

'lubridate :: ymd_hms'的'tz'参数默认为'“UTC”',所以这是...奇怪。 “as.POSIXlt.POSIXct”被调用也没有意义。一些必要的背景显然缺失。 – alistaire

回答

3

根据this R bug report,这是macOS 10.3的一个问题。虽然bug报告已修复,但版本3.4.2的R Installation and Administration manual将其列为已知问题。它似乎在当前的开发版本中得到修复(NEWS file,请参阅顶部的第一个注释)。

就目前来看,这似乎是最好的(虽然不是特别强劲)解决方案是将以下内容添加到您的~/.Rprofile

Sys.setenv(TZ = "America/Toronto") 

当然,任何人都不能在America/Toronto时区将取代他们的实际时区。在编译R时,还有bug链接中的说明以解决问题,或者您可以使用当前的开发版本,这对于某些情况可能是更好的选择。

0

看来在R 3.4.3中已经解决了这个问题。您可以在release news中阅读更多关于它的内容。

编辑:以下是发行说明的相关部分。

在UNIX酷似

一种解决方法安装已经添加了对MacOS的10.13“高Sierra公司又在10.13.1的变化的时区文件的位置,所以默认使用--with-internal-tzcode(macOS上的默认值)配置R时,可以从系统设置中正确推导出时区。