R-使用时间进行分类

R-使用时间进行分类,r,time,time-series,R,Time,Time Series,一点帮助也不过分。 我必须做一个工作的基础上使用小时(24小时)与2个间隔(或更多)。 例如,我使用从08:30:00到18:30:00和18:31:00到08:29:00的时间间隔(天+1) 我给出了我所做的,第一个视图,它可以工作,但是在数千个数据上,我意识到它不是最优的,并且存在错误的数据分类…(20:37是关于“工作”而不是“睡眠”) 欢迎提出任何方法上的建议 library("lubridate") library("dplyr") librar

一点帮助也不过分。 我必须做一个工作的基础上使用小时(24小时)与2个间隔(或更多)。 例如,我使用从08:30:00到18:30:00和18:31:00到08:29:00的时间间隔(天+1) 我给出了我所做的,第一个视图,它可以工作,但是在数千个数据上,我意识到它不是最优的,并且存在错误的数据分类…(20:37是关于“工作”而不是“睡眠”)

欢迎提出任何方法上的建议

library("lubridate")
library("dplyr")
library("data.table")


#database
datetime <- seq(from =ymd_hms("2014-02-24 00:00:00"),to= ymd_hms("2014-03-20 23:59:59"), by="minute")
set.seed(123)
values <- sample(seq(from = 20, to = 50, by = 30), size = length(datetime), replace = TRUE)
df <- tibble(datetime, values)

#datastep 
 df <- df %>% mutate(H1    = hms(as.numeric(datetime)),
                    Hour   = hour(H1),
                    Minute = minute(H1) )
 
  setDT(df)[(H>= 8 & M>29) & (H<= 18 & M<31), statut:= "Work"] # range beetween 08h20 and 18h30
  test[(H<= 8 & M<30) | (H>= 18 & M>30), statut:= "Sleep"] # range 18h31 to 08h29 day+1
库(“lubridate”)
图书馆(“dplyr”)
库(“数据表”)
#数据库

datetime
(H>=8&M>29)和(H>=8&M>29)谢谢你的建议。我的案例中的问题不是从那里出现的……可能是某个地方的格式问题。另一方面,我使用了另一种类似于你的方法,通过将小时转换为分钟。测试是决定性的,所有数据都有正确的标签。
df$x_minutes