我有一些格式为 CSV 的数据:
date, total, avg, hour00, hour01, ... hour23
我想将此扩展为格式为时间序列:
date-time(date + hourXX), (value of hourXX)
示例输入:
date, total, avg, hour00, hour01, hour02, hour03, ..., hour23
2013-01-27, 240, 10, 5, 15, 20, 0, ..., 14
2013-01-28, 305, 15, 9, 18, 17, 12, ..., 16
示例输出(data.frame 对象):
date-time, hourXX
2013-01-27 00:00, 5
2013-01-27 01:00, 15
2013-01-27 02:00, 20
2013-01-27 03:00, 0
...
2013-01-27 23:00, 14
2013-01-28 00:00, 15
...
因此,hour00-hour23 列中的每个值都对应于在 date+hourXX 采集的样本。
我知道如何在 sql 中执行此操作,我将在其中创建 24 个 UNION ALL,每个选择一列,但是在R中是否有一种“智能”的方式来执行此操作(或者可能是一些甚至知道更好的方式的专家)这在 sql 中)。
作为一个额外的问题,有没有办法反过来(采用时间序列并将其转换为 hour00-hour23 格式)?