Сюжетная карта в R с данными полигона TIGER - пробелы - PullRequest
0 голосов
/ 23 декабря 2019

Я пытаюсь создать карту choropleth в R, используя данные многоугольника почтового индекса из базы данных TIGER (используя ответ , опубликованный ранее ). Проблема, с которой я сталкиваюсь, - это большие области карты, которые пусты.

Я хочу знать, существуют ли

a) другие данные о многоугольниках, которые являются более полными, чем TIGER

b) другие пакеты для построения аналогичной карты без пробелов или

в) заполнить пустые места пользовательским цветом?

Код ниже:

library(ggplot2) 

library(zipcode)

library(RColorBrewer)

library(tidyverse)

library(rgdal)

data(zipcode)
wazip <- zipcode[(zipcode$state=="WA"),]

wazip$numbers <- c(1:756) #Random values to plot 

map.df <- readOGR(dsn = "", layer = "tl_2015_us_zcta510")#Import zipcode polygon data

combined <- map.df[map.df$ZCTA5CE10 %in% wazip$zip,] #extract zip codes in WA

mapfortified <- fortify(combined) #fortify map 

map.data <- data.frame(id=rownames(combined@data),ZIP=combined@data$ZCTA5CE10) #extract zip and ID

map.data <- map.data %>% rename(zip = ZIP) #rename

map.data <- merge(map.data, wazip, by='zip') #merge my data by zip

map.df2 <- merge(mapfortified, map.data, by='id') #merge to fortified data 

states <- readOGR(dsn="","gz_2010_us_040_00_5m") #load state polygon data

states <- states[states$NAME %in% c("Washington"),] #extract Washington`enter code here`

states.df <- fortify(states) 

ggMap <- ggplot(data = map.df2, aes(long, lat, group=map.df2$group)) +
        theme_classic() 

ggMap <- ggMap + geom_polygon(aes(fill = numbers))

ggMap <- ggMap + geom_path(data=states.df, aes(x=long,y=lat,group=group))

ggMap <- ggMap + scale_fill_gradientn(name="Numbers",colours=brewer.pal(9,"Reds"))

ggMap <- ggMap + coord_equal()

ggMap 

Ссылка на вывод

...