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

如何在data.table中使用fast_strtime?

如何解决如何在data.table中使用fast_strtime?

我需要帮助,以便在data.table中使用fast_strptime来转换日期格式的字符串, 我尝试了以下解决方案:

dt<-data.table(Month_Year=c("JAN 2020","FEB 2020","MAR 2020"),val=c(1:3))
dt[,Date:=as.POSIXct(fast_strptime(Month_Year,format= "%^b %Y"))]
dt$Date<-fast_strptime(dt$Month_Year,format="%b %Y")

他们都不工作,请给予任何帮助! 预先感谢!

解决方法

好吧,我找到了一种解决方法,虽然没有使用fast_strptime()函数,但它符合我的期望:

dt[,Date:=as.Date(paste("01",Month_Year,sep=" "),format = "%d %b %Y")] 

我希望它能帮助面临相同问题的其他人。

但是我仍然对如何结合使用data_table和fast_striptime感兴趣。 :)

,

这很好

dt[,Date:=as.POSIXct(lubridate::fast_strptime(Month_Year,"%b %Y"))]

问题是fast_strptime()生成POSIXlt对象,而不是POSIXct对象。 POSIXlt基本上是一个整数列表,因此data.table会引起混淆,而POSIXct是单个数字值。

虽然我可能会使用parse_date_time

dt[,Date:=lubridate::parse_date_time(Month_Year,"my")]

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