这真的取决于你想对数据做什么。
1) 绘图 例如,如果您的目标只是绘制它,那么 "ts" 类不适合,因为它不擅长表示日期。试试这个,我们在最后的注释中为sales 和tt 定义了测试向量。
library(zoo)
z <- zoo(sales, tt)
plot(z)
2) acf 如果你想计算自相关函数,那么使用普通向量 sales 或 ts(sales) 就可以了:
acf(sales)
3) StructTS 如果您想使用StructTS 拟合结构化时间序列,那么您需要确定一个周期的长度,即它是否每周重复一次? 25美分硬币?年?。通常一个年度周期适合销售,但一般来说,您需要两个完整的周期才能做任何事情,因此您实际上没有足够的数据。
4) 每月/每季度 如果您愿意将其减少为每月或每季度的数据,那么您可以使用ts,但您每月只有 20 分,每季度只有 7 分。这里我们使用了每个月的最后一个点:
library(zoo)
z <- zoo(sales, tt)
zm <- aggregate(z, as.yearmon, tail, 1)
tsm <- as.ts(zm)
tsm
给予:
Jan Feb Mar Apr May Jun Jul Aug
2016 3.258097 3.931826 4.356709 4.644391 4.867534 5.049856 5.204007 5.342334
2017 5.828946 5.897154 5.968708 6.030685 6.093570 6.150603 6.204558 6.257668
Sep Oct Nov Dec
2016 5.459586 5.564520 5.659482 5.749393
2017
5) 每周 您可以考虑的另一件事是仅使用星期六来使用每周系列,例如:
library(zoo)
z <- zoo(sales, tt)
zw <- z[weekdays(time(z)) == "Saturday"]
注意:我们使用了这个虚拟数据:
set.seed(123)
tt <- seq(as.Date("2016-01-01"), as.Date("2017-08-31"), "day")
tt <- tt[! weekdays(tt) == "Sunday"]
n <- length(tt)
sales <- log(1:n)