比较日期/时间逻辑,日期/时间是否必须格式化为as.POSIXct()?

时间:2017-01-11 03:49:26

标签: r datetime comparison

我有dim(my_data)得到[1] 2075259 9

的数据框

在运行
之后,我使用paste()来合并$Date$Time my_data$DateTime <- strptime(my_data$DateTime, "%d/%m/%Y %H:%M:%S")
头部看起来像

head(my_data[, c(1,2,10)], 3)

      Date     Time            DateTime
1 16/12/2006 17:24:00 2006-12-16 17:24:00  
2 16/12/2006 17:25:00 2006-12-16 17:25:00 
3 16/12/2006 17:26:00 2006-12-16 17:26:00 

当我运行一些比较代码,如
my_data$DateTime[1:3] > "2007-02-02 23:59:59"
我得到FALSE FALSE FALSE

但是在我运行library(dplyr)并尝试使用
之后 my_data1 <- filter(my_data, my_data$DateTime <= "2007-02-02 23:59:59")

警告是
Error: Date/times must be stored as POSIXct, not POSIXlt. Problem variables: 'DateTime'

似乎我必须使用my_data$DateTime <- as.POSIXct(my_data$DateTime)
然后使用filter()获取所需的数据 对此感到困惑,因为我绝对可以TRUEFALSE my_data$DateTime[1:3] > "Times Here"而不使用as.POSIXct()

0 个答案:

没有答案