【发布时间】:2018-08-11 13:20:44
【问题描述】:
我有以下数据集(代码需要forecast 包以进行tslm 调用。
x <- rnorm(11, mean = 534, sd = 79)
y <- rnorm(9, mean = 800, sd = 56)
p <- list(x, y)
tsl <- list(); ts_trend <- list()
for(i in seq_along(p)) {
tsl[[i]] <- ts(p[[i]], start = c(2018, 1), frequency = 52)
}
for(i in seq_along(tsl)) {
ts_trend[[i]] <- tslm(tsl[[i]] ~ trend)
}
当我运行它时,我得到了错误
Error in tsl[[i]] : subscript out of bounds
据我所知,下标显然没有超出范围。我在前面的循环中使用了相同的引用,没有错误。
我不知道如何解决这个问题。我错过了什么?
【问题讨论】:
-
您有两个
for循环。我认为不需要嵌套。for(i in seq_along(tsl)) ts_trend[[i]] <- tslm(tsl[[i]] ~ trend) -
您实际上可以将两者结合为一个
for循环。什么是趋势? -
对不起@akrun,这是我已修复的拼写错误。 @Parfait 趋势仅适用于
tslm调用。您可以调用trend,coef 将是时间序列对象的线性趋势。您还可以构建调用tslm(x ~ trend + season)和季节将产生季节性系数以及趋势。