R / chron - data.frame 按时间范围标记

R / chron - data.frame tag by time-range

Whosebug 的第一个问题,如果我不遵守礼仪,请见谅...

我有一个 table df 类似于以下内容:

subject_id date_time
1          1999-10-20 19:08:00
2          1983-03-16 00:28:14
....

我正在尝试添加更多列来标记事件发生的日期(我已经使用 wday 计算出来)但我需要进一步标记事件是否在工作时间(即在 0800 和 1700 之间)。到目前为止,我可以使用

从 date_time 中提取小时
df$hour = as.numeric(format(df$date_time, "%H"))

但我正在努力将一列添加到 df 的末尾,这将是有条件的 0(以小时为单位)或 1 基于 df$hour。谁能指出我正确的方向?谢谢!

因为您已经在使用 chron

library(dplyr)
library(chron)
df <- df%>% mutate(Hour = hours(date_time), Value = ifelse((Hour > 7 & Hour < 18), 0, 1))