我的数据框(df)有一个名为“到达时间”的列,其中的时间采用润滑格式“XH YM ZS”。我有 30,000 个观察结果。
我想要一个数据可视化,它可以显示一天中哪些时间到达的人最繁忙,哪些时间比较安静。
我认为最好的方法是创建频率多边形,但由于我的时间数据包括秒,因此两个人完全同时到达的情况可能很少见,因此频率多边形不会是一个很好的可视化效果。
我认为最好的办法是四舍五入到最接近的 15m(例如 8H 8M 9S 将变为 8H 15),然后使用下面的代码绘制频率多边形。
ggplot(Bdf, aes(Arrival_Time)) + geom_freqpoly()
是否有允许在 lubridate 中对时间段进行舍入的函数?我尝试了以下方法:
df$Arrival_Time_15 <- round_date(df$Arrival_Time, unit = "15 mins")
但是收到错误:
Error in unsupported_date_time(time) :
Unsupported date-time class 'Period'
您的 df$Arrival_Time 似乎不是 POSIX 时间格式,这是 lubrdiate::round_date() 工作所必需的。您需要先使用 as.POSIXct() 进行转换