R 使用某些标准对数据进行分组

R 使用某些标准对数据进行分组,r,dplyr,grouping,R,Dplyr,Grouping,我有以下用户统计数据框: ID User VisitTime 1 Ra 08:00 1 Ma 15:13 2 Da 20:15 2 La 11:00 我如何创建一个datafram Ewi,并使用另一个名为label的列来显示上午、下午和晚上的时间? 我参考了Stackoverflow上的一些帖子,并使用了dplyr group_,但无法产生所需的结果 基本上,我正在寻找以下

我有以下用户统计数据框:

ID    User      VisitTime
1     Ra          08:00
1     Ma          15:13
2     Da          20:15
2     La          11:00
我如何创建一个datafram Ewi,并使用另一个名为label的列来显示上午、下午和晚上的时间? 我参考了Stackoverflow上的一些帖子,并使用了dplyr group_,但无法产生所需的结果

基本上,我正在寻找以下数据帧:

ID    User      VisitTime    Label
1     Ra          08:00      Morning 
1     Ma          15:13      Evening
2     Da          20:15      Night
2     La          11:00      Morning 
将VisitTime转换为POSIXct格式,从中提取小时数,定义早上、下午、晚上和晚上,并指定标签

library(dplyr)

df %>%
  mutate(time = as.POSIXct(VisitTime, format = "%H:%M"), 
         hour = as.integer(format(time, '%H')), 
         Label  = case_when(between(hour, 6, 11) ~ "Morning", 
                            between(hour, 12, 15) ~"Afternoon", 
                            between(hour, 16, 19) ~"Evening", 
                            TRUE ~"Night"))
将VisitTime转换为POSIXct格式,从中提取小时数,定义早上、下午、晚上和晚上,并指定标签

library(dplyr)

df %>%
  mutate(time = as.POSIXct(VisitTime, format = "%H:%M"), 
         hour = as.integer(format(time, '%H')), 
         Label  = case_when(between(hour, 6, 11) ~ "Morning", 
                            between(hour, 12, 15) ~"Afternoon", 
                            between(hour, 16, 19) ~"Evening", 
                            TRUE ~"Night"))