我有一个名为 transactions_query 的数据集:
Index Date Number_transactions
500 2017-05-17 20546
我正在使用 ARIMA 模型来预测此数据的值,该数据保存到 transactions_query_fit (这是一个预测对象)。这是一个示例行
Point Forecast Lo 80 Hi 80
2018.3217 42769.17 39160.82 46710.00
Lo 95 Hi 95
37375.59 48941.08
我想要做的是将此预测附加到原始数据
我尝试了以下方法:
将预测转换为数据框,然后转换为矩阵:
transaction_query_fit<- as.data.frame(transaction_query_fit)
transaction_query_fit<- as.matrix(transaction_query_fit)
这样做应该允许我将预测绑定到 transaction_query 数据框?
我想到了一个 FOR LOOP,它通过从 transaction_query 数据框中获取最后一行来生成预测的每日交易日期
latest_transaction <- tail(transactions_query,1)
latest_transaction <- latest_transaction[,1]
row<- 0
for (i in transaction_query_fit[1:nrow(transaction_query_fit),1])
{
row[i] <- row[i] + 1
transaction_query_fit$date <- latest_transaction + row[i]
}
但这根本行不通。我收到错误“长度为 0 的参数”。似乎循环只能应用
有没有人有任何想法?
谢谢
- -编辑 - -
我正在进行测试,结果令人困惑:
row<- 1
for (i in transaction_query_fit[1:nrow(transaction_query_fit),1]) {
row[i] <- row[i] + 1
print(row[i])
}
打印出“[1] NA”
我不明白为什么
就像索引不可用,就好像我在运行循环之前没有转换为矩阵一样
跑步:
transactions_query_fit[1:nrow(transactions_query_fit),1]
提供美观且格式良好的输出:
[1] 42769.17 42184.20 41580.65 44223.21 31672.88 24786.25 35532.48 36102.99
但是为什么循环会给出 NA 呢?!