微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将POSIX类与Lubridate函数一起使用时,如何更改年份?

如何解决将POSIX类与Lubridate函数一起使用时,如何更改年份?

我正在尝试重新分配年份,但是在使用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"

但是当我使用ESTUTC运行它时,

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来解决我的问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。