Сохранить результат прогноза в файле csv в R

df=structure(list(X.1 = 1:6, X = c(1L, 1L, 1L, 1L, 1L, 1L), json_data.time.updated = structure(1:6, .Label = c("Jan 19, 2019 15:18:00 UTC", 
"Jan 19, 2019 15:19:00 UTC", "Jan 19, 2019 15:51:00 UTC", "Jan 19, 2019 15:52:00 UTC", 
"Jan 19, 2019 15:54:00 UTC", "Jan 19, 2019 15:55:00 UTC"), class = "factor"), 
    json_data.time.updatedISO = structure(1:6, .Label = c("2019-01-19T15:18:00+00:00", 
    "2019-01-19T15:19:00+00:00", "2019-01-19T15:51:00+00:00", 
    "2019-01-19T15:52:00+00:00", "2019-01-19T15:54:00+00:00", 
    "2019-01-19T15:55:00+00:00"), class = "factor"), json_data.time.updateduk = structure(1:6, .Label = c("Jan 19, 2019 at 15:18 GMT", 
    "Jan 19, 2019 at 15:19 GMT", "Jan 19, 2019 at 15:51 GMT", 
    "Jan 19, 2019 at 15:52 GMT", "Jan 19, 2019 at 15:54 GMT", 
    "Jan 19, 2019 at 15:55 GMT"), class = "factor"), code = structure(c(1L, 
    1L, 1L, 1L, 1L, 1L), .Label = "USD", class = "factor"), rate = structure(c(2L, 
    3L, 6L, 1L, 5L, 4L), .Label = c("3,735.3200", "3,735.7750", 
    "3,735.9150", "3,736.0750", "3,736.7717", "3,736.9100"), class = "factor"), 
    description = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "United States Dollar", class = "factor"), 
    rate_float = structure(c(2L, 3L, 6L, 1L, 5L, 4L), .Label = c("3735.32", 
    "3735.775", "3735.915", "3736.075", "3736.7717", "3736.91"
    ), class = "factor")), class = "data.frame", row.names = c(NA, 
-6L)) 

-

require(rugarch)


#We can then compute the ARMA(1,1)-GARCH(1,1) model as an example:



  spec <- ugarchspec(variance.model = list(model = "sGARCH", 
                                           garchOrder = c(1, 1), 
                                           submodel = NULL, 
                                           external.regressors = NULL, 
                                           variance.targeting = FALSE), 

                     mean.model     = list(armaOrder = c(1, 1), 
                                           external.regressors = NULL, 
                                           distribution.model = "norm", 
                                           start.pars = list(), 
                                           fixed.pars = list()))

garch <- ugarchfit(spec = spec, data = df$rate_float, solver.control = list(trace=0))


ugarchforecast(garch, n.ahead = 5)

Я буду запускать скрипт прогноза каждые 5 минут с этой строки spec <- ugarchspec (variance.model = list (model = "sGARCH", например, скрипт запускался в 10:10, прогноз делался по 5 шагам, этот результат надо записать в csv файл

потом запускался в 10:15, прогноз делался по 5 шагам, потом этот результат нужно записать в csv файл с отметкой даты

затем в 10:20 и так далее. Как добавлять прогнозы в один CSV с отметкой даты каждый раз, когда запускается скрипт?

вывод может быть таким: введите здесь описание изображения


person cbool    schedule 28.01.2019    source источник
comment
Sys.time() даст вам дату + время при запуске команды, возможно, используйте cbind() для сохранения даты и времени и прогноза?   -  person RLave    schedule 28.01.2019
comment
final <- cbind(datetime=Sys.time(), steps=my_predicitons) например   -  person RLave    schedule 28.01.2019
comment
@RLave, my_predicitons - это имя файла csv?   -  person cbool    schedule 28.01.2019
comment
нет, это вектор прогнозов, ваш столбец step   -  person RLave    schedule 28.01.2019


Ответы (1)


Просто как пример:

linmod <- lm(mpg ~ hp, data = mtcars) # your model

predictions <- predict(linmod) # your vector of predictions

Прежде чем сохранить только cbind() со временем:

final <- cbind(date_time=format(Sys.time(), format="%Y/%m/%d %H:%M"),
               predictions = predictions)

Теперь вы можете сохранить final с помощью write.csv().

person RLave    schedule 28.01.2019