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



给stackoverflow的第一个问题,如果我不遵守礼仪,请道歉…

我有一个表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(以小时为单位)或基于df$hour1。谁能给我指个正确的方向?谢谢!

既然你已经在使用chron:

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

最新更新