通过创建条件语句在R中组合变量

通过创建条件语句在R中组合变量,r,R,我现在已经离开了现场时间。离开的时间当前分类为“POSIXct”“POSIXt”。我想把它分为上午,下午,晚上或晚上。 我设计的功能如下: mysizetwo <- function(x){ if(x<0) return(0) if(0 <= x & x < 5) return(1) if(5<=x & x<12) return(2) if(12<=x & x<17) return(3) i

我现在已经离开了现场时间。离开的时间当前分类为
“POSIXct”
“POSIXt”
。我想把它分为
上午
下午
晚上
晚上
。 我设计的功能如下:

mysizetwo <- function(x){
 if(x<0)
   return(0)
 if(0 <= x & x < 5)
   return(1)
 if(5<=x & x<12)
   return(2)
 if(12<=x & x<17)
   return(3)
 if(17<=x & x<24)
   return(4) 
 else
   return(NA)
}

dfFinal$TIME_ACTUAL_DEPART.bin <- sapply(dfFinal$TIME_ACTUAL_DEPART, mysizetwo)

mysizetwo我们可以尝试使用
findInterval

library(chron)
c("morning", "afternoon", "evening", "night")[findInterval(chron(times =
       sub("\\S+\\s+", "", df1[,1])), 
           times(c("05:00:00", "12:00:00", "18:00:00", "22:00:00")))]
#[1] "morning"   "evening"   "morning"   "evening"   "afternoon" "night" 
数据
df1晚上怎么样?
df1 <- data.frame(TIME_ACTUAL_DEPART = c("1899-12-30 10:43:41",
          "1899-12-30 20:01:27", "1899-12-30 06:41:07",
          "1899-12-30 19:29:19", "1899-12-30 13:24:12",
           "1899-12-30 23:12:14"),
          stringsAsFactors=FALSE)