错误(没有活动的反应上下文时不允许操作) - R Shiny

时间:2016-12-19 22:07:32

标签: r shiny

这是我第一次尝试使用Shiny,而且我对这一切都很陌生,所以我想我的问题对于经验丰富的人来说非常简单。

我有一个与我想要映射的shp文件相关联的数据。我希望用户能够选择要在地图上显示的数据(哪种疾病)。用户将能够选择许多其他参数(受影响的年龄组,人均统计数据等),因此我试图整理一种缩小实际情节数据的方法。将有超过500种组合,因此逐一分配将是乏味的。到目前为止,我有以下内容:

(在代码之前,有大量数据清理并将内容设置为正确的格式。不要认为任何相关内容,但我可以在必要时添加)

ui <- fluidPage(
    titlePanel("Health in Tanzania"),
    DiseaseList <- c(NameDiagList[5:60],"All Disease"),  
    sidebarLayout(
      sidebarPanel(
        #Select disease
        selectInput("DiseaseSelect", 
                    label = "Disease",
                    choices = DiseaseList,
                    selected = "All Diseases"),
       ),

  mainPanel(
    leafletOutput("TZHealthMap")
    )
  )


 server <- function(input, output) {
    AllNames <- colnames(Map@data)  #make a list of all the column names where health data is stored
    DiseaseChoice <- subset(AllNames, grepl(input$DiseaseSelect, AllNames))  #select only the columns pertaining to the disease selected by user input
    SelectedData <- Map@data[[DiseaseChoice[1]]]  #take the first of the columns selected by user input
         #this will eventually not just be the first item in DiseaseChoice, based on more selection

    LeafletPalette <- colorNumeric(palette = rev(brewer.pal(5, "RdYlGn")), domain = SelectedData)

    output$TZHealthMap <- renderLeaflet({
      leaflet(Map) %>%    
      addProviderTiles("OpenStreetMap.Mapnik") %>%
      addPolygons(color = ~LeafletPalette(SelectedData)) 
    })
  }

  shinyApp(ui = ui, server = server)

当我执行此代码时,我收到以下错误消息:没有活动的响应上下文时不允许操作。 (你试图做一些只能在反应式表达式或观察者内部完成的事情。)

如果我将行DiseaseChoice <- subset(AllNames, grepl(input$DiseaseSelect, AllNames))替换为DiseaseChoice <- subset(AllNames, grepl(DiseaseList[1], AllNames)),我会收到一些警告,但会生成地图,所以我怀疑input$DiseaseSelect或者在grepl()中使用它时会出现问题。 Select-Object打电话或其他什么。

输入赞赏!!

0 个答案:

没有答案