1

Shiny の反応性に問題があります。私のUIでは、

library(tidyverse)
library(shiny)
library(forcats)

ui <- fluidPage(

  titlePanel(h1("Percent Cover")),

  selectInput("selectInput", "Select Site", choices = c("A", "B", "C", "D")), 


plotOutput("coverTypeBarChart", height = "600px")

)

これらは、サーバーの上部で読み取ったデータフレーム A、B、C、D に対応しています。

私のサーバーには、次のものがあります。

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



reactive({

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

 })


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

  cover_group_factor <- as.factor(data()$tmp)

 cover_group_factor <-  fct_recode(cover_group_factor, OTHER = "E", OTHER = "F", OTHER = "G", OTHER = "H", OTHER = "I", OTHER = "J", OTHER = "K")

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




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

} 

データを手動で値に割り当て、コードを手動で実行すると、プロットを作成できることがわかっているので、反応性の問題であることがわかります。

ありがとう。

4

2 に答える 2