Я пытаюсь создать карту 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
Ссылка на вывод