【问题标题】:All in shiny selectinput全部在闪亮的选择输入中
【发布时间】:2021-07-26 09:30:30
【问题描述】:

enter image description here我有一张闪亮的地图,我需要在其中过滤掉土著人和非土著人。但我还需要过滤掉所有原住民和非原住民。我正在使用 selectinput。

filtered <- reactive({
      filter(places_df,INDIGENA == input$INDIGENA)

if(input$INDIGENA =='ALL')
places_df

    })

    output$MapPlot1 <- renderLeaflet({
      
        leaflet(data =  filtered())%>% 
        setView(-51.127166, -4.299999, 10)%>%  
        addTiles()%>%
        addMarkers(popup = paste0(places_df$ID.GRUPO.FAMILIAR, "</br>", places_df$LOCALIDADES))
    
    })
    
    
    observe(
      leafletProxy("MapPlot1", data = filtered ())%>%  
        clearMarkers()%>%  
        addMarkers(popup = paste0(places_df$ID.GRUPO.FAMILIAR, "</br>", places_df$LOCALIDADES))
      )
    

【问题讨论】:

  • 您的问题到底是什么?您面临的问题是什么?另外,你能创建一个可重现的例子吗?
  • 地图加载不出来,我想是因为使用了if。我需要帮助
  • 可能是 if,或者就我们所知,可能是您没有调用该对象。因此需要一个可重现的例子。
  • 我在执行时添加了一个带有地图照片的链接...请注意,地图没有加载我想是因为 if ...
  • 一个可重现的例子实际上包含了可以自己运行的数据和代码。

标签: r if-statement shiny leaflet selectinput


【解决方案1】:

与函数类似,反应导体返回其主体的最后一条语句。如果input$INDIGENA不等于'ALL',那么语句

  if(input$INDIGENA == 'ALL'){
    places_df
  }

计算为NULL

试试:

filtered <- reactive({
  if(input$INDIGENA == 'ALL'){
    places_df
  }else{
    filter(places_df,INDIGENA == input$INDIGENA)
  }
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    相关资源
    最近更新 更多