我正在构建一个Shiny应用程序,帮助用户自己创建带有ggplot2的饼图。因此,它将有一个选择器输入供用户从不同的数据帧中选择变量。我被input$
语句困住了,似乎Shiny将input$
用双引号作为一个字符,而不是一个变量。下面是代码的简化版,请让我知道如何解决这个问题。提前谢谢!
library(ggplot2)
server <- function(input, output) {
output$var_selector <- renderUI({
selectInput('var_selector', 'Please select:', choices = names(mtcars))
})
output$pie_plot <- renderPlot({
ggplot(mtcars, aes(x = factor(1), fill = factor(input$var_selector))) + geom_bar(width = 1) + coord_polar(theta = "y")
})
output$text <- renderText({
print(input$var_selector)
})
}
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
h3('ggplot2 pie chart'),
uiOutput('var_selector')
),
mainPanel(
plotOutput('pie_plot')
)
)
)
shinyApp(ui = ui, server = server)