0

我最近问了一个关于 Shiny 反应性问题的问题,由于收到的评论,我修改了我的代码,但我仍然无法让它工作。正如我之前提到的,我知道如果没有反应性,情节就会起作用,所以这绝对是一个反应性问题。

在我的 UI 中,我有一个 selectInput,其中包含选项 A、B、C、D。(对应于 4 个数据框 A、B、C、D)。

在我的服务器中:

colors <- c("red", "blue", "green", "purple")

data <- reactive({
    if(input$selectInput == "A"){
        A
    } else if(input$selectInput == "B") {
        B
    } else if(input$selectInput == "C") {
        C
    } else if(input$selectInput == "D") {
        D
    }

   data <- na.omit(as.data.frame(data$cover_group))
   names(data) <- c("tmp")
 })


   group_factor <- reactive({
      group_factor <- as.factor(data()$tmp)
     group_factor <- fct_recode(group_factor, OTHER = "E", OTHER = "SPONGES", OTHER = "F", OTHER = "G", OTHER = "H", OTHER = "I", OTHER = "J")
            })



 bar <- reactive({
     ggplot(data = data()) +
            geom_bar(mapping = aes(x = group_factor(), y = ..count../sum(..count..)), fill = colors) + xlab("Cover Group") + ylab("Percent")
         })


 observe({
   output$coverTypeBarChart <- renderPlot(bar())
        })
4

0 回答 0