У меня есть набор данных с именем 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)
Это должно позволить мне затем привязать прогноз к фрейму данныхaction_query?
Я думал о цикле FOR LOOP, который будет генерировать ежедневное значение.даты транзакции для прогноза, взяв последнюю строку из фрейма данныхaction_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».Кажется, что цикл может применять только
У кого-нибудь есть какие-либо идеи?
Спасибо
--- EDIT ---
I 'Я делаю тестирование с ошибочными результатами:
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?!