【发布时间】:2019-09-07 17:36:19
【问题描述】:
此代码使用预测包进行预测。此代码的最终输出是使用 snaive 方法预测的三个列表(SNAIVE_PIT、SNAIVE_CIT 和 SNAIVE_VAT)。
#CODE
library(forecast)
# Making data frame
DATA_SET<-data.frame(
PIT=seq(1, 48, by = 2),
CIT=seq(1, 24, by = 1),
VAT=seq(1, 94, by = 4)
)
View(DATA_SET)
# FOR LOOP
for(i in 1:ncol(DATA_SET)){
# Build a ts for this column
timeseries <- ts(DATA_SET[,i], start=c(2016,1), frequency = 12)
# Build a foreacst based on the ts
forecast <- snaive(timeseries,h=5)
# rename the forecast according to the original variable name
colname <- colnames(DATA_SET)[i]
forecastName <- paste("SNAIVE_",colname," <- forecast",sep="")
eval(parse(text = forecastName))
}
但是编码并没有以上面的代码结束。即我必须用一些额外的东西来扩展这个代码。
首先,是如何将这一行放在上面的代码中(部分FOR LOOP)?
#NEW CODE 1
SNAIVE_ALL<-mapply(SNAIVE_PIT, SNAIVE_CIT,SNAIVE_VAT, FUN=list, SIMPLIFY=FALSE)
其次,是如何将这一行放在上面的代码中(部分FOR LOOP)?
#NEW CODE 2
SNAIVE_PIT_ACCURANCY<-accuracy(SNAIVE_PIT)
SNAIVE_CIT_ACCURANCY<-accuracy(SNAIVE_CIT)
SNAIVE_VAT_ACCURANCY<-accuracy(SNAIVE_VAT)
SNAIVE_ACCURANCY<-rbind(SNAIVE_PIT_ACCURANCY,SNAIVE_CIT_ACCURANCY,SNAIVE_VAT_ACCURANCY)
那么任何人都可以帮助我处理这段代码吗?
【问题讨论】: