问题描述
我正在尝试重新分配年份,但是在使用POSIX类时某些时区的无效时区出现错误。
当我运行这段代码
x <- as.POSIXct("2000-01-01",tz = "America/Costa_Rica")
year(x)
year(x) <- 1972
我收到此错误
Error in (function (dt,year,month,yday,mday,wday,hour,minute,second,:
CCTZ: Invalid timezone of the input vector: "America/Costa_Rica"
但是当我使用EST
或UTC
运行它时,
x <- as.POSIXct("2000-01-01",tz = "EST")
year(x)
year(x) <- 1972
x
我得到了输出
"1972-01-01 EST"
但是我只能上班的两个时区是EST和UTC。我从OlsonNames()
中随机尝试了其他几个时区,它们都给了我CCTZ:无效的时区错误。我尝试过的其他工具是印度/马约特岛,格林尼治标准时间,等等/格林尼治标准时间8。
我确保我的Lubridate已更新,甚至下载了dev版本以尝试,但它给了我同样的错误。
特定:MacOS 10.15.7; R版本4.0.3;我唯一加载的库是Lubridate
解决方法
我在GitHub上找到了一个可以回答此https://github.com/tidyverse/lubridate/issues/928
的线程R 4.0.3和macOS Catalina似乎是一个问题。我可以改用R 4.0.2来解决我的问题。