将带有时间戳的字符日期转换为类“ POSIXct”“ POSIXt”

然后

我有两个要通过日期列合并的data.tables,现在我的第一个data.table的date列为“ POSIXct”和“ POSIXt”类,并具有以下格式:

> DT1[,.(study_date)]
                 study_date
     1: 2008-02-13 08:44:01
     2: 2009-03-22 10:18:58
     3: 2009-03-27 12:01:28
     4: 2009-04-21 09:02:33
     5: 2009-11-02 08:38:52
    ---                    
230656: 2009-05-26 15:42:58
230657: 2011-03-29 17:05:06
230658: 2012-01-20 15:28:53
230659: 2016-02-17 14:19:14
230660: 2012-11-23 07:10:09

> DT1[,class(study_date)]
[1] "POSIXct" "POSIXt" 

我第二个data.table的date列是类字符,其格式为:

> DT2[,.(study_date)]
                study_date
     1: 13FEB2008:08:44:01
     2: 22MAR2009:10:18:58
     3: 22MAR2009:10:18:58
     4: 27MAR2009:12:01:28
     5: 27MAR2009:12:01:28
    ---                   
298011: 29MAR2011:17:05:06
298012: 20JAN2012:15:28:53
298013: 17FEB2016:14:19:14
298014: 23NOV2012:07:10:09
298015: 23NOV2012:07:10:09

理想情况下,我想使用lubridate更改DT2的日期类和格式,以匹配DT1中的日期格式和类。

哪种方法是转换DT2中日期的最佳方法,以便它们与DT1中日期的格式和类匹配?

阿克伦

使用lubridate,可以是dmy_hms

library(data.table)
library(lubridate)
DT2[, study_date := dmy_hms(study_date)]

或使用 as.POSIXct

DT2[, study_date := as.POSIXct(study_date, format = '%d%b%Y:%H:%M:%S')]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章