我有两列数据,其中一个时间戳位于&yyyy-mm-dd hh:mm:ss'格式和另一个包含订单数量的数字列。
如何定义“否定订单”的每小时时间序列'带有开始日期和列的列结束日期。
我尝试了以下代码,但收到了错误' 指定的无效时间序列参数'
OFS_ts <-ts(data = temp$OFS_transformed,start = temp$DateHour[1],end = temp$DateHour[nrow(temp)])
OFS_transformed - &gt;该时间戳记的销售订单数量(要转换为时间序列的数据)
DateHour - &gt;时间戳格式为&#39; 2015-10-25 18:00:00&#39;
temp - &gt;数据集
OFS_transformed DateHour
6.89871446 2015-10-30 00:00:00
6.1548579376 2015-10-30 01:00:00
5.9889612322 2015-10-30 02:00:00
6.678342022 2015-10-30 03:00:00
5.7333410385 2015-10-30 04:00:00
6.8741984193 2015-10-30 05:00:00
5.4806386163 2015-10-30 06:00:00
答案 0 :(得分:0)
要使用函数ts()
,您需要定义frequency=
参数,该参数指定数据的周期性。这取决于时间序列的类型和观察的频率。也可能有多个季节性。
例如,您的每小时数据可以包含每日,(frequency=24
),每周(frequency=24×7=168
)或每月季节性(frequency=24×30=720
)。请注意,只需指定frequency=
和start=
即可。
# Daily seasonality
OFS_ts <-ts(data = df$OFS_transformed,
start = min(df$DateHour),
frequency = 24)
ts()
的一个缺点是日期值以数字表示:
> plot(OFS_ts)
一个更好的选择是来自同名包的函数xts()
,其中frequency =
参数甚至不是必需的:
library(xts)
OFS_xts <- xts(temp$OFS_transformed,
order.by = temp$DateHour)
plot(OFS_xts)
xts
对象扩展类ts
,因此所有与ts
个对象一起使用的函数也可以与xts
一起使用。< / p>