在R中将因子转换为日期和时间

时间:2014-11-02 23:01:55

标签: r datetime

我的数据集中有两列是因子,位于表格" 10may2010 5p.m.到晚上7点"

我希望R将上述因素作为日期/时间对象阅读。

接下来,我想知道第1列的日期时间是否在第2列的日期时间之前。

谢谢!

1 个答案:

答案 0 :(得分:1)

我不确定这是否是将此字符串解析为序列的正确方法,但它似乎工作正常并且应该让您朝着正确的方向前进(我也学到了很多)。

x <- gsub("[.]|to ", "", "10may2010 5p.m. to 7p.m.")
s <- strsplit(x, "\\s+")[[1]]
dts <- strptime(paste(s[1], s[-1]), "%d%b%Y %I%p")
# [1] "2010-05-10 17:00:00 PDT" "2010-05-10 19:00:00 PDT"
seq(dts[1], dts[2], by = "hour")
# [1] "2010-05-10 17:00:00 PDT" "2010-05-10 18:00:00 PDT" 
# [3] "2010-05-10 19:00:00 PDT"

另请查看lubridate间隔类,因为它可能是您想要的。

library(lubridate)
interval(dts[1], dts[2])
# [1] 2010-05-10 17:00:00 PDT--2010-05-10 19:00:00 PDT