【发布时间】:2016-01-06 10:22:53
【问题描述】:
我的代码是这样的:
rawdata=as.numeric(rawdata)
salesdata_bfr=rawdata[3:(maxcolnum-12)]
print(length(salesdata_bfr))
salesdata_ts=ts(salesdata_bfr, frequency = 12)
salesdata_stl=stl(salesdata_ts,s.window="periodic")
maxcolnum 等于 38,print(length(salesdata_bfr)) 打印 24。但我得到了错误
Error in stl(salesdata_ts, s.window = "periodic") :
series is not periodic or has less than two periods
但我确实有一个正好包含两个周期的向量,并且我在ts() 中指定了频率。为什么它不起作用?
【问题讨论】:
-
您的代码中某处存在问题。如果
maxcolnum等于38,则3:(maxcolnum-11)的长度为25。并且使用虚拟数据(rawdata <- rnorm(38)),它可以工作。请发帖str(salesdata_bfr)。 -
对不起,有一个错字。我现在更正了。应该是
(maxcolnum-12)。我想看看它在 25 岁时是否有效,并且确实有效。str(salesdata_bfr)是num [1:24] 184931 175362 71478 44558 25039 ... -
请在您的问题中添加
dput(salesdata_bfr)。
标签: r time-series