2017-12-26 12 views
0

나는 시각적으로 빛나는 프로젝트를 진행 해왔다. 주어진 입력에 의해 설정된 데이터를 필터링하려고합니다. 슬라이더의 상태와 범위의 수입니다. 불행히도, r은 코드 부분을 생략하고 전체 데이터 집합을 출력합니다. 나는 또한 경고를 받는다. '데이터'는 그래픽 매개 변수가 아니다.반짝 반짝 빛나는 부분 집합

library(shiny) 
library(Ecdat) 


u <- shinyUI(pageWithSidebar(
    headerPanel("Social benefits"), 
    sidebarPanel(

    selectInput("variable", "Variable:", 
       list("Unemployment", 
        "Max benefit" 
       )), 
    #Specification of state 
    textInput("state", "State:", value = "93"), 
    # Specification of range within an interval 
    sliderInput("range", "Range:", 
       min = 1, max = 100, value = c(20,100)) 
), 
    mainPanel(
    plotOutput("mpgPlot") 
) 

)) 

s <- shinyServer(function(input, output) 
{ 
    #filter by state -ERROR 
    p <- reactive({ Benefits[Benefits$state == input$state,]}) 

    #filter by slider range - ERROR 
    dataX <- reactive({ p()[input$range[1]:input$range[2],,drop = FALSE] }) 

    variable <- reactive({ 
    switch(input$variable, 
      "Unemployment" = stateur, 
      "Max benefit" = statemb 
      ) 
    }) 

    caption <- reactive({ 
    paste(input$variable) 
    }) 

    output$mpgPlot <- renderPlot({ 
    plot(variable(), data = dataX(), type = "l",ylab = caption()) 
    }) 

}) 
shinyApp(u,s) 
+0

왜'dataX, -' 줄에 P 다음에'()'이 있습니까? 또한 함수의 이름이기 때문에 무언가 var를 호출하지 마십시오. – Elin

+0

'reactive'(이 경우 하위 집합의 하위 집합)로 정의 된 변수 뒤에 항상 대괄호를 사용합니다 .Polot (var()) - 선택한 변수의 시간 세리에트를 표시합니다. –

+1

Where (상태 354에서 사용되는) 상태 변수와 상태 변수는 각각 – Deena

답변

0

환경에서 가져온 데이터 세트가 필터링 된 데이터 세트를 가리기 때문에 실제로 변수 앞에 데이터 세트 이름을 지정하는 것이 필요했습니다.

output$urPlot <- renderPlot({ 
    plot(dataX()$stateur, data = dataX(), type = "l",ylab = "Unemployment") 
    }) 
    output$mbPlot <- renderPlot({ 
    plot(dataX()$statemb, data = dataX(), type = "l",ylab = "Max benefit") 
    })