使用循环从r中的不同数据帧在传单地图上添加标记

使用循环从r中的不同数据帧在传单地图上添加标记,r,shiny,r-leaflet,R,Shiny,R Leaflet,我使用r中的复选框来选择从不同数据集(例如:游乐场、图书馆、公园)绘制的位置。由于lat和long存在于不同的数据集中,我想我可以使用for循环根据选中的复选框更新基本传单图。然而,我并没有在这方面取得太大的成功,因为地图根本就没有出现。我也没有错。我还附上了代码片段。如果有人能在这方面帮助我,那将是非常有帮助的。如果有人能提出另一种方法来完成事情,我将不胜感激 ###################用户界面 ###########服务器 colm_其他=无功({ 输入$program\u其他

我使用r中的复选框来选择从不同数据集(例如:游乐场、图书馆、公园)绘制的位置。由于lat和long存在于不同的数据集中,我想我可以使用for循环根据选中的复选框更新基本传单图。然而,我并没有在这方面取得太大的成功,因为地图根本就没有出现。我也没有错。我还附上了代码片段。如果有人能在这方面帮助我,那将是非常有帮助的。如果有人能提出另一种方法来完成事情,我将不胜感激

###################用户界面 ###########服务器
colm_其他=无功({
输入$program\u其他
})
parks_数据=无功({
if(输入$neighborhoods\u other!=“未选择邻居”){
a=公园[其中(公园[,“nbhd_名称”]==输入$neighborhoods_other),]
}
否则{
a=公园
}
报税表(a)
})
库\u数据=反应性({
if(输入$neighborhoods\u other!=“未选择邻居”){
a=库[其中(库[,“nbhd_名称”]==输入$neighborhoods_other),]
}
否则{
a=图书馆
}
报税表(a)
})
输出$mymap_other=renderLeaflet({
公园数据1=公园数据()
库\数据1=库\数据()
m=传单()%%>%setView(lng=-104.991531,lat=39.742043,zoom=10)%%>%addTiles()
for(col in colm_other()){
如果(列=“公园”){
打印(打印头(parks_数据1))
map%addMarkers(map=m,lng=jitter(公园数据1$long),lat=jitter(公园数据1$lat))
}
如果(列==“库”){
打印(col)
map%>%addMarkers(map,lng=jitter(库\数据1$long),lat=jitter(库\数据1$lat))
}
}

请考虑进一步详细解释您的问题陈述。我有4个不同的数据集,其中包括图书馆、公园、游乐场和博物馆的位置。我希望有一个复选框,使我能够在传单地图上绘制这些资源的一个或任意组合的位置。复选框中的输入变量是d的名称ata集。我创建了一个循环,希望根据复选框中选择的输入数据集(代码的最后几行)更新地图。但是,我在应用程序中没有看到地图。我也没有收到错误。是否有其他方法更新循环中的传单?或者是否有其他方法可以解决此问题?您应该提供一个可复制的示例,以便人们可以测试您的代码。
 tabPanel("Other out-of-school resources",
                        fluidPage(sidebarLayout(

                          sidebarPanel(

                            selectInput("neighborhoods_other", "Select the neighborhood from the dataset", choices = c("No neighborhood selected", neighborhoods_other)),
                            br(),
                            checkboxGroupInput("program_other", "Select the type of the program", choices = c("Parks", "Playgrounds", "Rec Centers", "Libraries", 
                                                                                                        "Museums", "Fields"), selected = "Parks"),
                            br(),
                            radioButtons("demographics_other", "Select the demographics variable", choices = c("Median household income ($)","High school degree or equivalent(%)",
                                                                                                         "Hispanic population (%)", "Non native English speakers (%)"), selected = character(0)),
                            br()
                          ),



                          mainPanel(
                            tabsetPanel(type = "tab",
                                        tabPanel("Map",
                                                 leafletOutput("mymap_other", height = 650)),
                                        tabPanel("Data",
                                                 DT::dataTableOutput("datatable_other")),
                                        tabPanel("Summary analysis")
                            )
                          ))
                        )
                        ) 
 colm_other = reactive({

  input$program_other

})


  parks_data = reactive({


    if(input$neighborhoods_other != "No neighborhood selected" ) {

      a = parks[which(parks[, "nbhd_name"] == input$neighborhoods_other),]

    }

    else {

      a = parks

    }

    return(a) 
})


libraries_data = reactive({


  if(input$neighborhoods_other != "No neighborhood selected" ) {

    a = libraries[which(libraries[, "nbhd_name"] == input$neighborhoods_other),]

  }

  else {

    a = libraries

  }

  return(a) 
})






  output$mymap_other = renderLeaflet({



    parks_data1 = parks_data()
    libraries_data1 = libraries_data()

    m = leaflet()  %>% setView(lng = -104.991531, lat = 39.742043,zoom = 10) %>% addTiles()


    for (col in colm_other()){
     if(col == "Parks"){
       print(head(parks_data1))

       map <- m %>% addMarkers(map = m, lng = jitter(parks_data1$long), lat = jitter(parks_data1$lat))


     }

      if(col == "Libraries"){
        print(col)

        map %>% addMarkers(map, lng = jitter(libraries_data1$long), lat = jitter(libraries_data1$lat))


      }

    }