как использовать канал для отображения списка с объектом прогноза?

#r #list #pipe #arima #forecast

Вопрос:

известно, что преобразованная версия интересующей переменной может быть лучше смоделирована с помощью стандартных процессов линейной авторегрессии интегрированной скользящей средней (ARIMA). Конечно, можно отменить преобразование журнала, применив экспоненциальную функцию к прогнозам, и таким образом получить прогноз исходной переменной. Я могу достичь цели с базой в R. Теперь мне нужно получить тот же результат в блестящем. я не знаю,как обновить элементы списка, fc. я думаю, что это решение с помощью pipe. итак, как использовать канал для перечисления с объектом прогноза?

код R в интерактивной среде выглядит следующим образом:

 library(forecast) fc lt;- forecast(auto.arima(log(WWWusage) ) ) fc$x lt;-exp(fc$x) fc$mean lt;-exp(fc$mean ) fc$fitted lt;-exp(fc$fitted) fc$lower lt;-exp(fc$lower) fc$upper lt;-exp(fc$upper) fc$residuals lt;-exp(fc$residuals) plot(fc)  

код R в блестящей среде выглядит следующим образом:

 library(shiny) ui lt;- fluidPage( plotOutput("out") ) server lt;- function(input, output, session) { fc lt;- reactive(log(WWWusage) %gt;% auto.arima %gt;% forecast) output$out lt;- renderPlot( plot(fc())) } shinyApp(ui, server)  

Комментарии:

1. Вам не нужно транслировать свою трансформацию только потому, что она в блестящем. Если ваш код работает вне Shiny, он будет работать в Shiny. Просто верните свой объект сюжета из вызова renderPlot() . если вам нужна более подробная информация, было бы полезно использовать MWE с вашим блестящим кодом. Добро пожаловать в SO!

2. Лайми, ты не против дать коды?

Ответ №1:

 library(shiny) library(forecast)  ui lt;- fluidPage(  plotOutput("out")  )  server lt;- function(input, output, session) {  fc lt;- reactive({   tmp lt;- forecast(auto.arima(log(WWWusage)))  tmp$x lt;- exp(tmp$x)  tmp$mean lt;- exp(tmp$mean )  tmp$fitted lt;- exp(tmp$fitted)  tmp$lower lt;- exp(tmp$lower)  tmp$upper lt;- exp(tmp$upper)  tmp$residuals lt;- exp(tmp$residuals)  tmp  })   output$out lt;- renderPlot({  plot(fc())  }) }  shinyApp(ui, server)  

Основываясь на приведенном вами коде, я не вижу никаких причин для принятия fc реактивных мер. Но это может быть результатом упрощения как части вашего MRE. Я отмечаю, что WWWusage это не определено в вашем коде — вам придется соответствующим образом изменить мое предложение.