【发布时间】:2017-07-20 07:44:25
【问题描述】:
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。我该如何解决这个问题?
【问题讨论】:
-
您的
input$data将返回一个字符向量"iris",而不是数据集iris。在绘图函数中,更改为data = data(input$data),它将加载指定的数据集 -
@waterling 感谢您的快速回复。是的,我也注意到了。不幸的是,你的建议没有奏效。我得到同样的错误:'字符'类型的'无效'环境'参数
-
嗯好的。试试
get(input$data)。这对我行得通。output$myPlot <- renderPlot({ if(is.null(input$data)) {return()} plot(Sepal.Width ~ Sepal.Length, data = get(input$data)) })
标签: r visualization shiny shiny-server