0
我试图将数据集的特定列与不同设备的日常数据样本转换为按两个键(小时和因子1)分组的时间序列列表在data.table组中的ts函数中定义开始和结束
我的数据是这样的
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月1日至2017年8月1日,时有两个级别(AM和PM),因子1具有多层次,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)]
因此我得到需要的结果,但是当我试着总结一下本作所有的不同因子1水平和小时,我不知道如何输入正确的开始和结束日期。到目前为止,我设法做到了这一点,但它似乎输出了一个糟糕的结果。
table[, vol_ts := ts(volume,
start = decimal_date(table[, date][1]), frequency = 365), by = c('factor1', 'hour')]
任何帮助,将不胜感激!
这不是我正在寻找的答案,但它非常有帮助。我正在寻找的是在同一个数据框中,以某种方式定义新列上的ts,但每个ts是不同的,因为每个factor1和hour可以有不同的长度......我不知道我是否在'解释我自己。无论如何,非常感谢你的帮助。 –