使用R版本3.2.2,我试图使用以下代码中的变体读取"%Y%m%d%H%M%S“(例如"20131227185208")形式的时间戳:
library("dplyr")
df <- data_frame(DTHR_EVENT="20131227185208")
mutate(df, DTHR_EVENT = strptime(DTHR_EVENT, "%Y%m%d%H%M%S"))
...but这会产生以下错误:
错误:
mutate
不支持POSIXlt
结果
在变异之外,strptime工作得很好,这样:
> strptime("20131227185208", "%Y%m%d%H%M%S")
[1] "2013-12-27 18:52:08 EST"
但我需要将它与突变一起应用,以便以方便的方式将列中的所有值转换为新的值.如果你有比变异更好的方法,我欢迎任何建议。
为了记录在案,我还尝试了以下备选方案,但每种方法都以不同的方式失败:
df <- mutate(df, DTHR_EVENT = as.Date.POSIXlt(DTHR_EVENT, "%Y%m%d%H%M%S"))
错误:无效的“x”参数
df <- mutate(df, DTHR_EVENT = as.POSIXct(DTHR_EVENT, format="%Y%m%d%H%M%S", origin="EST5EDT"))
==> DTHR_EVENT all set to NA
发布于 2017-04-10 20:23:50
只需将POSIXlt
data.type转换为POSIXct
即可
mutate(df, DTHR_EVENT = as.POSIXct(strptime(DTHR_EVENT, "%Y%m%d%H%M%S")))
请参阅这个github问题
https://stackoverflow.com/questions/43332247
复制相似问题