Использование purrr::map с листовкой
Я пытаюсь реализовать purrr
"s map()
функция для добавления слоев в leaflet
карта, но борется с тем, как уменьшить результат.
Когда я запускаю этот код, я получаю список, в котором каждый элемент представляет собой отдельную карту листовки (сгенерированную правильно). Обычно слои добавляются в карты листовок, начиная с существующей карты и используя add
функции.
Я извиняюсь за то, что не делал репер, но данные слишком велики / сложны, чтобы включать их здесь.
У кого-нибудь есть предложения о том, как объединить / уменьшить получившиеся слои, которые в итоге получаются как отдельные карты в списке?
layerlst <- lst(all_births = tibble(map = T,
group = "All Births",
pal = "Greens",
datacol = "births_all_births"),
birth_rate = tibble(map = T,
group = "Birth Rate",
pal = "Greens",
datacol = "birth_rate"))
mymap <- leaflet()
mymap <- layerlst %>%
purrr::map(function(layer) {
palette <- colorNumeric(
palette = layer$pal,
domain = range(select(cdc, !!layer$datacol), na.rm = T)
)
mymap %>%
addProviderTiles("CartoDB.Positron", group = layer$group) %>%
addPolygons(data = cdc_geo,
fillColor = ~palette(cdc_geo@data %>% pull(!!layer$datacol)),
color = "#b2aeae",
fillOpacity = 0.7,
weight = 1,
smoothFactor = 0.2,
popup = popup,
group = layer$group) %>%
addLegend(pal = palette,
values = cdc_geo@data %>% pull(!!layer$datacol),
#labFormat = labelFormat(transform = function(x) 100*x, suffix = "%"),
position = "bottomleft",
title = layer$group)
}
)
Бег mymap[1]
а также mymap[2]
чтобы увидеть результат правильно, выведите каждый слой.