ui <- fluidPage(
checkboxGroupInput("data", "Select data:",
c("Iris" = "iris",
"Cars" = "mtcars")),
plotOutput("myPlot")
)
server <- function(input, output) {
output$myPlot <- renderPlot({
plot(Sepal.Width ~ Sepal.Length, data = input$data)
})
}
shinyApp(ui, server)
我有一个shinyApp,我希望用户选择一个数据集。从那里,我想使用该数据集来制作一个简单的情节。但是,似乎用户输入复选框并未成功传递到server
。我怎么能绕过这个?
答案 0 :(得分:0)
闪亮的典型方法是使用switch()
,这意味着您不需要在输入中指定数据集,您可以在服务器中完成所有操作。在您的背景下:
library(shiny)
ui <- fluidPage(
checkboxGroupInput("data", "Select data:",
c("Iris" = "iris",
"Cars" = "mtcars")),
plotOutput("myPlot")
)
server <- function(input, output) {
dat <- reactive({
switch()
})
output$myPlot <- renderPlot({
dat <- switch(input$data,
"iris" = iris,
"mtcars" = mtcars)
plot(Sepal.Width ~ Sepal.Length, data = get(input$data))
})
}
shinyApp(ui, server)
请注意,您可以使用checkboxGroupInput
中的任何字符串,这使其成为一种更灵活的工作方式。