我最近问了一个关于Shiny中反应性问题的问题,由于我收到的评论,我修改了我的代码,但我仍然无法使其工作。正如我之前提到的,我知道没有反应性,情节有效,所以它肯定是一个反应性问题。
在我的UI中,我有一个带有选项A,B,C,D的selectInput。(对应于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())
})