2017-02-01 1 views
0

Shiny에서 작은 쿼리가 있습니다. 드롭 다운에서 사용자 선택을 기반으로 소스 스크립트를 호출하는 응용 프로그램을 개발했습니다. 호출 된 스크립트는 예측 변수를 시계열로, 다른 시계열 (회귀 변수 값과 함께 실제 값 포함)과 변수를 포함하는 변수를 만듭니다. 예측의 MAPE 값. 나는 예측과 실제 시계열 값을 별도로 제공 할 2 개의 출력 (renderDygraph 두 개)을 구축했습니다. 필자가 작성한 코드는 다음과 같습니다.RShiny에서 반응 값 선택

server <- function(input, output) { 
test <- function(var){ 

switch(var, 
     "5184-7740" = source("5184-7740.R"), 
     "5184-8554" = source("5184-8554.R")) 
} 
f1 <- reactive({ 
test(input$state) 
forecast # Contains the forecast values 
}) 

f2 <- reactive({ 
test(input$state) 
rr # Contains the actual time series along with regressors 
}) 

output$plot1<-renderDygraph ({ 
dygraph(dd(), main = "Inventory Level Forecasts") %>% 
dyRangeSelector() %>% 
dyAxis("y", label = "Inventory Level in Millions") 
}) 

output$plot2<-renderDygraph ({ 
dygraph(dd2(), main = "Actual Time Series") %>% 
dyOptions(colors = RColorBrewer::brewer.pal(3, "Set2")) %>% 
dyAxis("y", label = "Quantity in Millions") 

}) 
} 

이제 내 쿼리는 예측과 rr을 하나의 반응식에서 호출 할 수 있습니까? 현재는 두 번 실행되어 각 출력 플롯에 대해 동일한 스크립트를 두 번 호출합니다. 단일 진술 및 호출 예측 변수와 몇 가지 명령문 (예 : f1 $ forecast 및 f1 $ rr, 그러나 $ doesnt 작업)을 사용하여 실제 시계열을 정의 할 수있는 방법이 있습니까? 동적으로 MAPE 값을 표시 할 계획이기 때문에 renderText 블록을 정의 할 예정이지만 MAPE 변수를 얻기 위해 반응식에서 동일한 스크립트를 다시 제공하고 싶지 않습니다. 문제가 명확하지 않은 경우 친절하게 문제를 설명해 주셨으면합니다. 많은 감사드립니다.

답변

0

이 시도 :

f1 <- reactive({ 
    test(input$state) 
    list(forecast = forecast, rr = rr) 
}) 
+0

너무 감사합니다. 효과가있다. – Aravind