我需要将一些时序模型(使用R的“预测”库开发)应用到我的数据集中的不同行集。
行组由一个名为INDEX的序号变量定义,范围从1到10。我希望将模型的结果(即预测和精度指标)存储在不同的对象中:这些对象的名称应包括索引作为后缀。
下面是我需要为每个组复制的代码示例。当然,我可以只复制和粘贴部分,更改对象的名称,但我知道应该有一个更聪明的解决方案。我尝试使用for循环,但没有成功。
ts_1 <- dataset[index=1,]
ts_1 <- ts(ts_1$y, frequency=12)
n_1 <-length(ts_1)
train_1 <-ts(ts_1[1:(n_1-12)], frequency=12)
test_1 <- ts_1[(n_1-(12-1)):n_1]
for_1 <- forecast(train_1, model=arima, h=12)
acc_1 <- accuracy(for_1, test_1)谢谢!
发布于 2021-08-12 21:56:20
可以使用assign在全局环境中创建对象。例如,要为数据中的每个索引1-10创建一个ts_*对象,可以编写以下循环。
for(i in 1:10){
assign(paste0("ts_", i), dataset[index == i, ])
}https://stackoverflow.com/questions/68764538
复制相似问题