我正在尝试构建一个简单的应用程序,该应用程序根据由另一个输入过滤的子集绘制所选变量的直方图。我在第tuple
行中收到错误,该错误应返回hist(dataX()$datasetInput())
。我该如何解决?
完整代码:
dataX$mpg
答案 0 :(得分:0)
你复杂的简单应用程序。
selectInput
中的所有列。您可以从服务器端渲染它。 u
和s
等快捷方式是可以接受的,但只是坚持命名惯例。它让你的生活变得轻松。以下是一个完整的应用程序
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)