R中如何将字符型时间向量转为时间类,按时长分组后计算总时长
R语言实现字符型时长向量拆分统计方案
操作步骤
你提供的时长格式为HH:MM:SS格式的字符型向量,可通过lubridate包快速完成转换、拆分、统计需求:
- 步骤1:安装加载依赖包
install.packages("lubridate") library(lubridate)
- 步骤2:字符向量转时长对象
# 替换char_time_vec为你自己的字符向量变量名 duration_vec <- hms(char_time_vec) # 提取小时单位的数值用于筛选 hour_value <- as.numeric(duration_vec, unit = "hours")
- 步骤3:按4小时阈值拆分两个子集
# 时长大于4小时的子集 subset_over_4h <- duration_vec[hour_value > 4] # 时长小于4小时的子集 subset_under_4h <- duration_vec[hour_value < 4]
- 步骤4:计算两个子集的总时长
# 大于4小时子集总时长 total_over_4h <- sum(subset_over_4h) # 小于4小时子集总时长 total_under_4h <- sum(subset_under_4h)
补充说明:代码默认排除时长等于4小时的记录,如需将该部分划入任意子集,修改筛选条件的
>/<为>=/<=即可。直接打印total_over_4h/total_under_4h会输出HH:MM:SS格式的总时长,如需转换为小时数值,执行as.numeric(total_over_4h, unit = "hours")即可。
数据集参考

内容的提问来源于stack exchange,提问作者Egor
相关产品推荐
相关产品推荐

