如何将lubridate的hms格式转换为带小数的小时数
转换lubridate HMS时长为数值型小时数
针对你存储为lubridate HMS格式的Wait.Time列,有两种简单方法可以将其转为数值型小时数:
- 方法一:通过秒数转换
利用lubridate的period_to_seconds()函数先把时长转为总秒数,再除以3600(1小时的秒数)得到小时数:
library(lubridate) # 假设你的数据框名为df df$Wait.Hours <- period_to_seconds(df$Wait.Time) / 3600
- 方法二:拆分时分秒计算
直接提取小时、分钟、秒的数值,按比例换算后求和:
df$Wait.Hours <- hour(df$Wait.Time) + minute(df$Wait.Time)/60 + second(df$Wait.Time)/3600
两种方法都能得到你需要的数值结果,比如2H 30M 0S会被转为2.5,最终的Wait.Hours列是数值类型。
内容的提问来源于stack exchange,提问作者Emma541
相关产品推荐
相关产品推荐

