【发布时间】:2018-03-29 16:47:37
【问题描述】:
我正在尝试将具有不同设备的每日数据样本的数据集的特定列转换为按两个键(小时和因子 1)分组的时间序列列
我的数据是这样的
date hour factor1 volume wkday
1: 2015-10-01 AM 11011 530 Thursday
2: 2015-10-01 AM 11012 1535 Thursday
3: 2015-10-01 AM 11021 191 Thursday
4: 2015-10-01 AM 11131 1108 Thursday
5: 2015-10-01 AM 11132 1518 Thursday
6: 2015-10-01 AM 11141 508 Thursday
日期从 2015-10-01 到 2017-08-01,hour 有两个级别(AM 和 PM),factor1 有很多级别,目前不需要 wkday。我想变成时间序列数据的列是体积。
我试过这样做:
table_11011 = table[factor1 == '11011']
table_11011_am = table_11011[hour == 'AM']
table_11011_am[, vol_ts := ts(table_11011_am[,volume],
start = decimal_date(table_11011_am[, date][1]),
frequency = 365)]
因此我得到了所需的输出,但是当我尝试针对所有不同的 factor1 级别和小时进行总结时,我不知道如何输入正确的开始和结束日期。到目前为止,我设法做到了这一点,但它似乎给出了一个糟糕的输出。
table[, vol_ts := ts(volume,
start = decimal_date(table[, date][1]), frequency = 365), by = c('factor1', 'hour')]
任何帮助将不胜感激!
【问题讨论】:
标签: r data.table time-series