试图申请非功能性

时间:2017-12-28 15:35:40

标签: r shiny

我正在尝试构建一个简单的应用程序,该应用程序根据由另一个输入过滤的子集绘制所选变量的直方图。我在第tuple行中收到错误,该错误应返回hist(dataX()$datasetInput())。我该如何解决? 完整代码:

dataX$mpg

1 个答案:

答案 0 :(得分:0)

你复杂的简单应用程序。

  1. 您无需列出selectInput中的所有列。您可以从服务器端渲染它。
  2. 同样适用于气瓶
  3. us等快捷方式是可以接受的,但只是坚持命名惯例。它让你的生活变得轻松。
  4. 以下是一个完整的应用程序

    library(shiny)
    ui <- shinyUI(pageWithSidebar(
      headerPanel("Staz w bezrobociu"),
      sidebarPanel(uiOutput("SelectColname"),
                   uiOutput("Cylinders")),
      mainPanel(plotOutput("Plot"))
    ))
    
    server <- shinyServer(function(input, output){
      # Create a reactive dataset
      dataX <- reactive({
        mtcars
      })
    
      # Output number cylinders as select box
      output$Cylinders <- renderUI({
        selectInput("cylinders", "cylinders:", unique(dataX()$cyl))
      })
    
      # Output column names as selectbox
      output$SelectColname <- renderUI({
        selectInput("variable", "Variable:", colnames(dataX()[,c(1,4)]))
      })
    
      # Based on the selection by user, create an eventreactive plotdata object
      plotdata <- eventReactive(input$cylinders, {
        plotdata = dataX()[dataX()$cyl == input$cylinders, , drop = FALSE]
      })
    
      # Render the plot, the plot changes when new cylinder is selected
      output$Plot <- renderPlot({
        if (is.null(plotdata()))
          return(NULL)
        hist(
          plotdata()[, input$variable],
          xlab = input$variable,
          main = paste(
            "Histogram of" ,
            input$variable
          )
        )
      })
    
    })
    shinyApp(ui, server)