2016-06-28 15 views
0

Первый вопрос к StackOverflow около того извинения, если я не буду следовать этикету ...R/кроновая - data.frame тег по времени диапазона

У меня есть таблица 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. Может ли кто-нибудь указать мне в правильном направлении? Благодаря!

ответ

0

Поскольку вы уже используете chron:

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

Отлично, спасибо! –