我有一个data.frame
包含一堆POSIXct
日期:
df <- data.frame(dte=as.POSIXct(c("2001-02-03 14:30:00",
"2001-02-04 9:30:00", "2001-02-05 10:30:00")), a=1:3)
我想提取df
时间部分大于上午 9:15 且小于下午 5:25 的部分。我可以分别提取小时和分钟的组成部分并进行比较,但我认为可能有一种更优雅的方法。任何人都可以提出建议吗?
我目前的方法是:
df <- subset(df,
(as.numeric(format(dte, "%H")) > 9 & as.numeric(format(dte, "%M")) > 15) |
(as.numeric(format(dte, "%H")) < 17 & as.numeric(format(dte, "%M")) < 25))