【发布时间】:2019-07-27 03:07:27
【问题描述】:
我有一个带有日期时间列的数据框。我想知道一天中每小时的行数。但是,我只关心上午 8 点到晚上 10 点之间的行。
lubridate 包要求我们使用 24 小时惯例过滤一天中的时间。
library(tidyverse)
library(lubridate)
### Fake Data with Date-time ----
x <- seq.POSIXt(as.POSIXct('1999-01-01'), as.POSIXct('1999-02-01'), length.out=1000)
df <- data.frame(myDateTime = x)
### Get all rows between 8 AM and 10 PM (inclusive)
df %>%
mutate(myHour = hour(myDateTime)) %>%
filter(myHour >= 8, myHour <= 22) %>% ## between 8 AM and 10 PM (both inclusive)
count(myHour) ## number of rows
有没有办法让我使用10:00 PM 而不是整数22?
【问题讨论】: