首页 > 解决方案 > R - 使用时间进行分类

问题描述

一点帮助不会走得太远。我必须根据使用时间(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

标签: rtimetime-series

解决方案


推荐阅读