Удалить неиспользуемый GEOID в geo_join

Я пытаюсь построить прибыльность на вершине округов в Миннесоте, Айове и Небраске. С помощью leaflet а также tigrisЯ смог построить ВСЕ графства, есть ли у меня данные для этого. Это оставляет меня с несколькими округами с цветами, а остальные помечены как NA. Есть ли способ для меня, чтобы удалить все АН из моего geo_join данные, так что он просто не используется аля неиспользуемые районы Висконсина? Я пытался использовать fortify, но я не могу понять, как определить границы округов, на которые я смотрю, когда объединяю границы TIGER с моим файлом FIPS округа, чтобы удалить их.

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

Мой код для получения карты:

library(tigris)
library(leaflet)

pal <- colorNumeric(c("yellow","dark red"),county$Construction.Cost,na.color="white")
IA_counties <- counties(state="IA", cb=TRUE, resolution ="20m")
MN_counties <- counties(state="MN",cb=TRUE,resolution="20m")
NE_counties <- counties(state="NE",cb=TRUE,resolution="20m")
IA_merged <- geo_join(IA_counties,county,"GEOID", "GEOID")
MN_merged <- geo_join(MN_counties,county,"GEOID","GEOID")
NE_merged <- geo_join(NE_counties,county,"GEOID","GEOID")
popupIA <- paste0("County Projects: ", as.character(paste('$',formatC(format(round(IA_merged$Construction.Cost, 0), big.mark=',', format = 'f')))))
popupMN <- paste0("County Projects: ", as.character(paste('$',formatC(format(round(MN_merged$Construction.Cost, 0), big.mark=',', format = 'f')))))
popupNE <- paste0("County Projects: ", as.character(paste('$',formatC(format(round(NE_merged$Construction.Cost, 0), big.mark=',', format = 'f')))))


leaflet() %>%
      addProviderTiles("MapQuestOpen.OSM") %>%
      addLegend(pal = pal, 
                values = IA_merged$Construction.Cost, 
                position = "bottomright", 
                title = "County Projects",
                labFormat=labelFormat(prefix="$")) %>%
      addCircles(lng=yup2$lon, lat=yup2$lat,weight=.75,fillOpacity=0.01,color="red",
                 radius = 96560) %>%
      addCircles(lng=yup2$lon, lat=yup2$lat,weight=.75,fillOpacity=0.01,color="blue",
                 radius = 193121) %>%
      addPolygons(data = IA_counties, 
                  fillColor = ~pal(IA_merged$Construction.Cost), 
                  layerId=1,
                  fillOpacity = .25, 
                  weight = 0.05, 
                  popup = popupIA)%>%
      addPolygons(data=MN_counties,
                  fillColor=~pal(MN_merged$Construction.Cost),
                  fillOpacity=0.25,
                  weight=0.05, 
                  popup = popupMN) %>%
      addPolygons(data=NE_counties,
                  fillColor=~pal(NE_merged$Construction.Cost),
                  fillOpacity=0.25,
                  weight=0.05, 
                  popup = popupNE) 

Я прошу прощения за то, что не включил воспроизводимые данные, но при необходимости, пожалуйста, спросите. Я надеюсь, что это более простой na.color= формула решения. Карта выглядит "хорошо" на данный момент, но я бы хотел, чтобы было возможно fillOpacity настолько легкие, чтобы округа АН не выделялись.

Спасибо за любую помощь и, пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы!

2 ответа

Решение

Так что, смущающе, ответ на этот вопрос был настолько прост, насколько я надеялся. Я подправил следующее na.color код, и он работал именно так, как я хотел.

pal <- colorNumeric(c("yellow","dark red"),county$Construction.Cost,na.color="transparent")

Я создатель tigris пакет. Большое спасибо за использование! В разрабатываемой версии tigris на GitHub ( https://github.com/walkerke/tigris) я добавил опцию geo_join для размещения внутренних объединений, которые полностью удаляют несопоставленные данные из результирующего фрейма пространственных данных (если это то, что вы ищете). Вы также можете указать общее имя столбца слияния в качестве именованного аргумента для нового by параметр, если вы хотите. Например:

IA_merged <- geo_join(IA_counties, county, by = "GEOID", how = "inner")

должно сработать. Я все еще тестирую, но, вероятно, отправлю это обновление в CRAN в январе.

Другие вопросы по тегам