【发布时间】:2017-03-17 12:10:14
【问题描述】:
我有一个特定停车场的占用率数据,该数据持续了数周,时间间隔为 5 分钟。
我的数据如下:
head(DataParking)
DateTime OccupancyRate Weekday
2017-01-27 10:24:41 0.2570423 Friday
2017-01-27 10:29:41 0.2605634 Friday
2017-01-27 10:34:41 0.2535211 Friday
2017-01-27 10:39:41 0.2535211 Friday
2017-01-27 10:44:41 0.2535211 Friday
2017-01-27 10:49:41 0.2535211 Friday
我想创建一个平均入住率和上下边界值的图,以显示每周的整体模式。因此,我的数据需要按一天中的时间和一周中的一天的组合进行分组。
最后,我希望我的数据如下所示:
Time Weekday AvgOccupancyRate MinOccupancyRate MaxOccupancyRate
10:24:41 Friday 0.2570423 0.1770423 0.3670423
10:29:41 Friday 0.2605634 0.1810423 0.3560423
10:34:41 Friday 0.2535211 0.1870423 0.3570423
10:39:41 Friday 0.2535211 0.1770423 0.3570423
10:44:41 Friday 0.2535211 0.1770423 0.3570423
10:49:41 Friday 0.2535211 0.1870423 0.3870423
我怎样才能做到这一点?
另一个问题:有了这些数据,我可以绘制特定日期(例如星期五)的数据,这已经提供了一些见解。但是,如果我想绘制从周一 00:00 到周日 23:59 的每周模式,我想我需要一个 WeekdayTime 组合变量,它可以绘制在折线图的 x 轴上。您是否知道是否存在这种格式以及如何使用(例如)ggplot 在 x 轴上绘制工作日-时间组合?
非常感谢!
【问题讨论】:
-
请一次问一个问题。
-
一种快速提取时间的方法是使用
format(as.POSIXct("2017-01-27 10:24:41"), "%H:%M:%S")。这应该在逻辑上排序,因为 0 在单个数字前(9:00:00 变为 09:00:00)。我认为chron包可能具有以更智能的方式存储时间的功能。 -
是的,我知道如何从 DateTime 变量中提取时间。但是如果我这样做,我的数据就不能按时间聚合,对吧?如果我使用
as.POSIXct,在变量中的%H:%M:%S下方,对应的日期总是会阻碍基于工作日的聚合,或者不是?
标签: r plot time-series aggregate