Как исключить определенные метки при использовании буклета в R? - PullRequest
0 голосов
/ 05 апреля 2020

Я делаю карту в R, используя буклет ... Мои данные содержат столбцы - широта, долгота, название страны, регион и население. И я установил название страны, регион и население, которые будут отображаться в виде всплывающего ярлыка, когда вы наводите указатель мыши на точку на карте.

Однако не все страны в моих данных имеют связанные регионы (это - NA в моем данные). И мне было интересно, возможно ли показывать только название страны и население в ярлыке всплывающего окна при наведении курсора на эти указанные c страны ... и сохранять данные региона нетронутыми для стран, которые содержат регионы?

Ниже я привел очень маленький пример, чтобы прояснить, чего я пытаюсь достичь:

library(leaflet)
library(dplyr)

long <-     c(-3.436000, -4.548100)
lat <- c(55.378100, 54.236100)
pop <- c(700000, 5000)
Country <- "UK"
Region <- c(NA, "Isle of man")

dataf <- data.frame(long,lat,pop,Country,Region)

dataf %>% 
  leaflet() %>%
  addProviderTiles(providers$Stamen.TonerLite, group = "Toner Lite") %>%
  addLayersControl(baseGroups = c("Toner Lite")) %>%
  addCircleMarkers(lng = dataf$long, lat = dataf$lat, 
                   popup=paste("Country:", dataf$Country, "<br>",
                               "Region:", dataf$Region, "<br>",
                               "Pop:", dataf$pop),
                   stroke = F, fillOpacity = 0.5) # Val False

, если я наведу курсор на точку с регионом, карта выглядит так: image1

Однако, если я наведусь на точку без прикрепленной области, она будет выглядеть следующим образом:

enter image description here

Есть ли способ удалить метку региона во всплывающем окне для данных, которые не имеют ассоциированного региона? сохраняя его нетронутым для мест, где есть регионы?

1 Ответ

0 голосов
/ 05 апреля 2020

Что, если вы только что создали другой набор данных, где Region! = NA, и построили график, сохранив при этом исходный набор данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...