Для цикла во временных рядах для добавления значений прогноза в исходный фрейм данных - PullRequest
0 голосов
/ 07 июня 2018

У меня есть набор данных с именем 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?!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...