Setup i wczytanie danych

library(dplyr)
library(ggplot2)
library(rgdal)


# bezrobocie.csv = plik Excela z
# http://stat.gov.pl/obszary-tematyczne/rynek-pracy/bezrobocie-rejestrowane/liczba-bezrobotnych-zarejestrowanych-oraz-stopa-bezrobocia-wedlug-wojewodztw-podregionow-i-powiatow-stan-w-koncu-pazdziernika-2016-r-,2,51.html
# skonwertowany do CSV (od wiersza 7 włącznie)
dane <- read.csv2("bezrobocie/bezrobocie.csv", stringsAsFactors = FALSE)

# bez zbędnych spacji w nazwach
dane$nazwa <- trimws(dane$nazwa)

# tylko powiaty
dane_pow <- filter(dane, POW!=0)
# WOJ + POW na kody TERYT
dane_pow$TERYT <- sprintf("%02d%02d", dane_pow$WOJ, dane_pow$POW)

# mapa z plików SHP
# pliki SHP dla Polski z archiwum
# ftp://91.223.135.109/prg/jednostki_administracyjne.zip
powiaty <- readOGR("mapy/powiaty", "powiaty")
## OGR data source with driver: ESRI Shapefile 
## Source: "mapy/powiaty", layer: "powiaty"
## with 380 features
## It has 29 fields
# porzadek we współrzędnych
powiaty <- spTransform(powiaty, CRS("+init=epsg:4326"))
powiaty <- fortify(powiaty, region = "jpt_kod_je")

# złączenie mapy z danymi
powiaty_mapa <- left_join(powiaty, dane_pow, by=c("id"="TERYT"))
powiaty_mapa <- select(powiaty_mapa, long, lat, order, hole, piece, id, group, WOJ, stopa_bezrobocia)

# podział na 11 przedziałów - 11, bo tyle kolorów jest w palecie RdYlGn
powiaty_mapa$stopa_bezrobocia_przedzial <- cut(powiaty_mapa$stopa_bezrobocia, 11)
# przedziały w odwrotnej kolejności - żeby kolory miały sens
powiaty_mapa$stopa_bezrobocia_przedzial <- factor(powiaty_mapa$stopa_bezrobocia_przedzial, levels = rev(levels(powiaty_mapa$stopa_bezrobocia_przedzial)))

Cała Polska

# jedna mapa dla całego kraju
mapa <- powiaty_mapa %>%
   ggplot() +
      geom_polygon(aes(long, lat, group=group, fill=stopa_bezrobocia_przedzial), color="gray50") +
      theme_void() +
      labs(fill="Stopa bezrobocia") +
      scale_fill_brewer(palette = "RdYlGn")

plot(mapa)

Poszczególne województwa

# narysowanie map dla poszczególnych województw
for(i in seq(2, 32, 2)) {
   # co to za województwo?
   woj <- filter(dane, WOJ==i, PODR==0)[1,4]

   cat(paste("\n##", woj, "\n")) # dla spisu treści
   
   # rysujemy mapę powiatów województwa
   mapa <- powiaty_mapa %>%
      filter(WOJ==i) %>%
      ggplot() +
         geom_polygon(aes(long, lat, group=group, fill=stopa_bezrobocia_przedzial), color="gray50") +
         theme_void() +
         labs(fill="Stopa bezrobocia") +
         scale_fill_brewer(palette = "RdYlGn")

   cat("\n") # trick dla rmarkdown
   plot(mapa)
   
   # dodatkowo tabela z danymi
   tabela <- dane %>%
      filter(WOJ==i, POW!=0) %>%
      arrange(desc(stopa_bezrobocia)) %>%
      mutate(stopa_bezrobocia=paste0(as.character(stopa_bezrobocia), "%")) %>%
      select(Powiat=nazwa, "Stopa bezrobocia"=stopa_bezrobocia)

   print(knitr::kable(tabela))
   cat("\n") # trick dla rmarkdown
}

Woj. DOLNOŚLĄSKIE

Powiat Stopa bezrobocia
wałbrzyski 18.5%
górowski 18.4%
złotoryjski 18.2%
kłodzki 16.7%
lwówecki 16.3%
jaworski 14.5%
wołowski 13.9%
legnicki 13.6%
ząbkowicki 13.3%
strzeliński 12.2%
jeleniogórski 11.1%
lubański 11.1%
głogowski 10.8%
milicki 10.2%
dzierżoniowski 10%
kamiennogórski 9.9%
m. Wałbrzych 8.9%
trzebnicki 8.1%
oleśnicki 7.9%
świdnicki 7.8%
zgorzelecki 7.3%
średzki 7.2%
oławski 6.8%
m. Legnica 6.5%
bolesławiecki 5.5%
lubiński 5.5%
polkowicki 5.5%
m. Jelenia Góra 4.4%
wrocławski 2.9%
m. Wrocław 2.9%

Woj. KUJAWSKO-POMORSKIE

Powiat Stopa bezrobocia
włocławski 21.1%
radziejowski 19.6%
lipnowski 19.5%
inowrocławski 16.5%
wąbrzeski 15.8%
aleksandrowski 15.8%
sępoleński 15.6%
m. Włocławek 15.5%
nakielski 15.4%
grudziądzki 15.2%
żniński 15.2%
chełmiński 15.1%
tucholski 14.8%
golubsko-dobrzyński 13.9%
mogileński 13.6%
toruński 13.5%
rypiński 12.8%
m. Grudziądz 12.7%
świecki 10%
brodnicki 9.8%
bydgoski 7.8%
m. Toruń 5.9%
m. Bydgoszcz 4.9%

Woj. LUBELSKIE

Powiat Stopa bezrobocia
włodawski 18%
chełmski 14.7%
hrubieszowski 14.7%
krasnostawski 12.9%
m. Biała Podlaska 12.8%
świdnicki 12.6%
lubartowski 12.5%
m. Chełm 12.4%
kraśnicki 12.4%
bialski 12.1%
m. Zamość 12.1%
zamojski 11.5%
opolski 10.9%
rycki 10.8%
radzyński 10.7%
janowski 10.6%
parczewski 9.6%
tomaszowski 8.9%
lubelski 8.4%
m. Lublin 7.1%
puławski 7.1%
łęczyński 6.4%
biłgorajski 6%
łukowski 6%

Woj. LUBUSKIE

Powiat Stopa bezrobocia
międzyrzecki 14.7%
strzelecko-drezdenecki 14.6%
krośnieński 13.9%
żagański 13.8%
nowosolski 13.6%
wschowski 10.3%
sulęciński 9.5%
zielonogórski 9.1%
żarski 7.7%
świebodziński 7.2%
gorzowski 7.1%
m. Zielona Góra 4.7%
słubicki 3.9%
m. Gorzów Wielkopolski 3.9%

Woj. ŁÓDZKIE

Powiat Stopa bezrobocia
kutnowski 12.5%
łaski 11.3%
zgierski 10.5%
łęczycki 10.5%
brzeziński 10.4%
zduńskowolski 9.8%
pabianicki 9.7%
tomaszowski 9.3%
łódzki wschodni 9.2%
radomszczański 9.2%
poddębicki 9.2%
m. Łódź 8.3%
pajęczański 8.3%
wieluński 8.3%
opoczyński 8.2%
m. Piotrków Trybunalski 8.2%
sieradzki 8%
piotrkowski 7.9%
m. Skierniewice 7.5%
bełchatowski 7.3%
łowicki 7.2%
wieruszowski 5.9%
rawski 5.4%
skierniewicki 5%

Woj. MAŁOPOLSKIE

Powiat Stopa bezrobocia
dąbrowski 13.6%
tatrzański 12%
chrzanowski 10.4%
nowosądecki 10.1%
limanowski 10%
nowotarski 9.2%
tarnowski 9.1%
olkuski 8.9%
gorlicki 8.8%
proszowicki 8%
brzeski 7.9%
oświęcimski 7.8%
miechowski 7.1%
m. Tarnów 7.1%
wielicki 6.5%
m. Nowy Sącz 6.3%
bocheński 6.1%
wadowicki 6%
krakowski 5.4%
suski 5.1%
myślenicki 4.8%
m. Kraków 3.7%

Woj. MAZOWIECKIE

Powiat Stopa bezrobocia
szydłowiecki 27.3%
radomski 22%
przysuski 21.3%
sierpecki 20%
makowski 19.6%
pułtuski 18.8%
gostyniński 17.1%
żuromiński 17%
m. Radom 16.1%
płocki 14.7%
zwoleński 14.6%
ostrołęcki 14.2%
ciechanowski 13.1%
płoński 13.1%
żyrardowski 13%
m. Ostrołęka 12.5%
kozienicki 12.3%
przasnyski 12%
ostrowski 11.9%
wołomiński 11.9%
lipski 11.8%
garwoliński 11.5%
legionowski 11.4%
węgrowski 9.9%
białobrzeski 9.6%
mławski 9.3%
nowodworski 8.6%
m. Płock 8.6%
sochaczewski 8.1%
sokołowski 8%
łosicki 7.6%
wyszkowski 7.5%
miński 7.3%
siedlecki 7.3%
m. Siedlce 7.2%
otwocki 6.1%
piaseczyński 5.6%
pruszkowski 5.6%
grodziski 4.7%
grójecki 3.6%
warszawski zachodni 3.4%
m. Warszawa 2.9%

Woj. OPOLSKIE

Powiat Stopa bezrobocia
prudnicki 12.9%
brzeski 12.7%
głubczycki 12.4%
namysłowski 11.7%
nyski 11.3%
kędzierzyńsko-kozielski 10%
kluczborski 9.5%
opolski 9.1%
oleski 6.5%
krapkowicki 6.3%
strzelecki 5.9%
m. Opole 4.8%

Woj. PODKARPACKIE

Powiat Stopa bezrobocia
leski 18.4%
brzozowski 18.1%
niżański 18.1%
strzyżowski 17.4%
bieszczadzki 16.8%
przemyski 16%
leżajski 15.3%
przeworski 15.2%
ropczycko-sędziszowski 15%
jarosławski 14.5%
m. Przemyśl 13.9%
łańcucki 13.3%
jasielski 12.8%
m. Tarnobrzeg 11.5%
lubaczowski 11.3%
kolbuszowski 11.1%
rzeszowski 10.8%
krośnieński 9.9%
tarnobrzeski 9.8%
dębicki 9.1%
sanocki 8.9%
mielecki 8%
stalowowolski 7.8%
m. Rzeszów 6.7%
m. Krosno 4.6%

Woj. PODLASKIE

Powiat Stopa bezrobocia
grajewski 16.9%
kolneński 16.1%
sejneński 14.7%
sokólski 13.7%
augustowski 13.5%
białostocki 12.5%
m. Łomża 11.9%
łomżyński 10.3%
zambrowski 10.1%
moniecki 10.1%
m. Białystok 9.3%
hajnowski 9.2%
siemiatycki 8.8%
m. Suwałki 7%
bielski 6.7%
wysokomazowiecki 6.7%
suwalski 5.6%

Woj. POMORSKIE

Powiat Stopa bezrobocia
nowodworski 16.7%
malborski 16.3%
człuchowski 15.7%
bytowski 14.5%
sztumski 13.6%
słupski 12.4%
chojnicki 12.2%
lęborski 10.2%
pucki 9.8%
wejherowski 9.8%
kwidzyński 8.1%
starogardzki 8.1%
kościerski 7.9%
tczewski 7.5%
m. Słupsk 6.1%
gdański 5.6%
kartuski 4.3%
m. Gdynia 3.9%
m. Gdańsk 3.7%
m. Sopot 3%

Woj. ŚLĄSKIE

Powiat Stopa bezrobocia
m. Bytom 15.5%
będziński 11.4%
zawierciański 11.4%
myszkowski 11%
częstochowski 10.7%
m. Sosnowiec 10.2%
m. Świętochłowice 9.8%
m. Piekary Śląskie 9.6%
żywiecki 9%
rybnicki 8.9%
kłobucki 8.7%
m. Siemianowice Śląskie 8.5%
lubliniecki 8.2%
wodzisławski 8.2%
tarnogórski 8.1%
m. Dąbrowa Górnicza 7.9%
m. Zabrze 7.6%
m. Chorzów 7.1%
gliwicki 7%
m. Żory 7%
cieszyński 6.4%
m. Częstochowa 6.3%
m. Mysłowice 6.2%
raciborski 6.2%
m. Jastrzębie-Zdrój 6%
m. Rybnik 5.8%
m. Jaworzno 5.8%
bielski 5.5%
m. Ruda Śląska 5.5%
m. Gliwice 4.3%
mikołowski 4.3%
pszczyński 4.2%
bieruńsko-lędziński 3.7%
m. Tychy 3.4%
m. Bielsko-Biała 3.3%
m. Katowice 2.9%

Woj. ŚWIĘTOKRZYSKIE

Powiat Stopa bezrobocia
skarżyski 20.1%
opatowski 16.2%
ostrowiecki 14%
konecki 13.9%
kielecki 13.6%
starachowicki 10.8%
jędrzejowski 10.6%
kazimierski 9.2%
staszowski 8.8%
sandomierski 8.1%
pińczowski 7.6%
włoszczowski 7.6%
m. Kielce 7.5%
buski 5.2%

Woj. WARMIŃSKO-MAZURSKIE

Powiat Stopa bezrobocia
braniewski 24.4%
kętrzyński 23%
bartoszycki 22.8%
węgorzewski 21.1%
piski 20.9%
elbląski 20.2%
lidzbarski 19.8%
działdowski 18.5%
ełcki 16.6%
olecki 15.7%
gołdapski 15.7%
olsztyński 15.2%
ostródzki 14.5%
mrągowski 13.9%
szczycieński 13.7%
giżycki 13.2%
m. Elbląg 11.5%
nidzicki 10.9%
nowomiejski 10.4%
iławski 5.9%
m. Olsztyn 4.9%

Woj. WIELKOPOLSKIE

Powiat Stopa bezrobocia
koniński 13.5%
kolski 10.6%
chodzieski 10.4%
m. Konin 9.9%
złotowski 9.9%
średzki 9.9%
słupecki 9.2%
wągrowiecki 8.5%
gnieźnieński 7.9%
wrzesiński 7.4%
gostyński 7.1%
pilski 7%
czarnkowsko-trzcianecki 6.4%
obornicki 6.3%
jarociński 6%
rawicki 5.6%
ostrzeszowski 5.4%
turecki 5.3%
międzychodzki 5.2%
pleszewski 5.1%
grodziski 5.1%
kościański 5%
m. Leszno 4.8%
szamotulski 4.8%
ostrowski 4.5%
m. Kalisz 4.5%
krotoszyński 4.4%
leszczyński 4.4%
kaliski 4.1%
śremski 4.1%
nowotomyski 3.3%
wolsztyński 3%
poznański 2.4%
kępiński 2.3%
m. Poznań 2.1%

Woj. ZACHODNIOPOMORSKIE

Powiat Stopa bezrobocia
łobeski 22.1%
białogardzki 22%
choszczeński 19.1%
szczecinecki 18.9%
drawski 17.5%
kamieński 17.5%
świdwiński 17.4%
sławieński 17%
pyrzycki 16.6%
koszaliński 16.2%
gryficki 15%
gryfiński 14.5%
wałecki 11.4%
stargardzki 11.3%
myśliborski 10.1%
goleniowski 8.6%
policki 7.8%
kołobrzeski 7.4%
m. Koszalin 6.8%
m. Świnoujście 5.6%
m. Szczecin 4.7%