R Shiny中的子集

格热哥兹·凯(Grzegorz Ky)

我一直在从事闪亮的可视化项目。我正在尝试通过给定的输入(状态数和滑块范围)过滤数据集。不幸的是,它“省略”了代码部分并输出了整个数据集。我还会收到警告:“数据”不是图形参数。

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)
格热哥兹·凯(Grzegorz Ky)

实际需要做的只是在变量之前指定数据集名称,因为来自环境的数据集使过滤后的数据集显得黯然失色。

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")
  })

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档