确定24小时日期时间是否在间隔内
问题描述:
希望你能帮上忙。有一个包含日期时间的数据框。我想确定时间结果是否在小时后(> 16:00)出现。 有没有简单的方法来做到这一点?正在计划将时间转换为秒,然后这样做,但假设有一个更简单的方法来通过R.确定24小时日期时间是否在间隔内
datetimes <- c("2013-04-01 08:19:00", "2013-04-02 16:19:00", "2017-02-17 14:01:00", "2017-02-17 22:01:00")
as.POSIXct(datetimes)
答
通过>=
只需使用一个format
和comparsion:
format(datetimes,"%H") >= 16
#[1] FALSE TRUE FALSE TRUE
假设你已经通过as.POSIXct()
已经转化为对您的问题。
即使format
返回一个字符串,比较安全用数字做,因为所有的单个数字值填补像"08"
答
lubridate包使这非常容易。有关更多信息,请参阅https://cran.r-project.org/web/packages/lubridate/vignettes/lubridate.html。
library(lubridate)
hour(as.POSIXct(datetimes))>16