发布
社区首页 >问答首页 >与format="%Y%m%d%H%M%S“发生变异的R倍时间当量

与format="%Y%m%d%H%M%S“发生变异的R倍时间当量
EN

Stack Overflow用户
提问于 2017-04-10 20:17:19
回答 1查看 1.1K关注 0票数 1

使用R版本3.2.2,我试图使用以下代码中的变体读取"%Y%m%d%H%M%S“(例如"20131227185208")形式的时间戳:

代码语言:javascript
代码运行次数:0
复制
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工作得很好,这样:

代码语言:javascript
代码运行次数:0
复制
> strptime("20131227185208", "%Y%m%d%H%M%S")
[1] "2013-12-27 18:52:08 EST"

但我需要将它与突变一起应用,以便以方便的方式将列中的所有值转换为新的值.如果你有比变异更好的方法,我欢迎任何建议。

为了记录在案,我还尝试了以下备选方案,但每种方法都以不同的方式失败:

代码语言:javascript
代码运行次数:0
复制
df <- mutate(df, DTHR_EVENT = as.Date.POSIXlt(DTHR_EVENT, "%Y%m%d%H%M%S"))

错误:无效的“x”参数

代码语言:javascript
代码运行次数:0
复制
df <- mutate(df, DTHR_EVENT = as.POSIXct(DTHR_EVENT, format="%Y%m%d%H%M%S", origin="EST5EDT"))
 ==> DTHR_EVENT all set to NA
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-10 20:23:50

只需将POSIXlt data.type转换为POSIXct即可

代码语言:javascript
代码运行次数:0
复制
mutate(df, DTHR_EVENT = as.POSIXct(strptime(DTHR_EVENT, "%Y%m%d%H%M%S")))

请参阅这个github问题

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43332247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档