Pierwsza mapa ilustrująca dane (grupa 2).
rm(list = ls())
Podczytanie bibilotek
library(tidyverse)
library(readxl)
Podczytanie danych z pliku lokalnego ściągniętego z bdl GUS.
Dane dotyczą przyrostu naturalnego na 1000 ludności wg miejsca zamieszkania.
przyrost <- read_excel("dane/LUDN_3425_XPIV_20200407091358.xlsx",
sheet = "DANE",
col_types = c("text","text", "text", "text", "numeric",
"skip", "skip"))
przyrost %>% head
Zmianna polskich nazw na angielskie (R na ogół lubi tylko litery alfabetu łacińskiego) oraz pisowni województw.
przyrost <- przyrost %>%
mutate(Nazwa = str_to_title((Nazwa)),
Lokalizacje = str_replace(Lokalizacje, "ogółem", "all"),
Lokalizacje = str_replace(Lokalizacje, "w miastach", "cities"),
Lokalizacje = str_replace(Lokalizacje, "na wsi", "villages"))
Zmianna nazwy kolumny zawierającą nazwy województw (dalczego za chwilę).
names(przyrost)
[1] "Kod" "Nazwa" "Lokalizacje" "Rok" "Wartosc"
names(przyrost)[2] <- "NAME_1"
names(przyrost)
[1] "Kod" "NAME_1" "Lokalizacje" "Rok" "Wartosc"
Postać szeroka zbioru danych (jedne wiersz na województwo).
przyrost.w <- przyrost %>%
pivot_wider(
names_from = year.local,
values_from = Wartosc
)
Bibliotek sf do pracy z danymi przestrzennymi.
library(sf)
Podczytanie pliku konturów województw.
Dane pochodzą ze strony gadm.org
gadm_1sf <- readRDS("dane/gadm36_POL_1_sf.rds")
Jakie są zmienne w gadm_1sf?
names(gadm_1sf)
[1] "GID_0" "NAME_0" "GID_1" "NAME_1" "VARNAME_1" "NL_NAME_1" "TYPE_1" "ENGTYPE_1" "CC_1"
[10] "HASC_1" "geometry"
Gdzie są nazwy województw?
gadm_1sf$NAME_1
[1] "Dolnośląskie" "Kujawsko-Pomorskie" "Łódzkie" "Lubelskie" "Lubuskie"
[6] "Małopolskie" "Mazowieckie" "Opolskie" "Podkarpackie" "Podlaskie"
[11] "Pomorskie" "Śląskie" "Świętokrzyskie" "Warmińsko-Mazurskie" "Wielkopolskie"
[16] "Zachodniopomorskie"
Dołączenie danych do obiektu sf z konturami województw.
gadm_1sf.p <- gadm_1sf %>%
as.data.frame() %>%
left_join(przyrost.w) %>%
st_as_sf()
Joining, by = "NAME_1"
Pierwsza wersja mapy z naniesionymi danymi (nie jest najlepsza).
gadm_1sf.p %>%
ggplot() +
geom_sf(aes(fill = `2018.all`)) +
scale_fill_gradient(low = "yellow", high = "red") +
theme_bw()
![](data:image/png;base64,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)
Pierwsza mapa ilustrująca dane (grupa 1).
rm(list = ls())
Tym razem dane dotyczą przyrostu naturalnego, urodzin i zgonów na 1000 ludności wg miejsca zamieszkania.
przyrost <- read_excel("dane/LUDN_3428_XPIV_20200407104536.xlsx",
sheet = "DANE",
col_types = c("text","text", "text", "text", "numeric",
"skip", "skip"))
names(przyrost)[3] <-"Info"
przyrost <- przyrost %>%
mutate(Nazwa = str_to_title(Nazwa),
Info = str_replace(Info, 'urodzenia żywe na 1000 ludności', "urodzenia"),
Info = str_replace(Info, 'zgony na 1000 ludności', "zgony"),
Info = str_replace(Info, 'przyrost naturalny na 1000 ludności', "przyrost"))
przyrost <- przyrost %>%
select(Nazwa, Kod, Rok, Info, Wartosc)
przyrost <- przyrost %>%
unite("rok.info", c(Rok, Info), sep = ".")
przyrost.w <- przyrost %>%
pivot_wider(
names_from = rok.info,
values_from = Wartosc
)
gadm_1sf <- readRDS("dane/gadm36_POL_1_sf.rds")
names(gadm_1sf)
[1] "GID_0" "NAME_0" "GID_1" "NAME_1" "VARNAME_1" "NL_NAME_1" "TYPE_1" "ENGTYPE_1" "CC_1"
[10] "HASC_1" "geometry"
gadm_1sf$NAME_1
[1] "Dolnośląskie" "Kujawsko-Pomorskie" "Łódzkie" "Lubelskie" "Lubuskie"
[6] "Małopolskie" "Mazowieckie" "Opolskie" "Podkarpackie" "Podlaskie"
[11] "Pomorskie" "Śląskie" "Świętokrzyskie" "Warmińsko-Mazurskie" "Wielkopolskie"
[16] "Zachodniopomorskie"
names(przyrost.w)[1] <- "NAME_1"
names(przyrost.w)
[1] "NAME_1" "Kod" "2018.urodzenia" "2018.zgony" "2018.przyrost"
gadm_1sf.p <- gadm_1sf %>%
as.data.frame() %>%
left_join(przyrost.w) %>%
st_as_sf
Joining, by = "NAME_1"
gadm_1sf.p %>%
ggplot() +
geom_sf(aes( fill = `2018.urodzenia`)) +
scale_fill_gradient(low = "yellow", high = "red")
![](data:image/png;base64,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)
LS0tDQp0aXRsZTogIkluZm9ybWF0eWthIGVrb25vbWljem5hIChpbmZvcm1hdHlrYSBpIGVrb25vbWV0cmlhIHJvayBJKSAtIGxhYm9yYXRvcml1bS4iDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZSA9IEZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQ0KYGBgDQoNCiMgUGllcndzemEgbWFwYSBpbHVzdHJ1asSFY2EgZGFuZSAoZ3J1cGEgMikuDQpgYGB7cn0NCnJtKGxpc3QgPSBscygpKQ0KYGBgDQoNCiMjIFBvZGN6eXRhbmllIGJpYmlsb3Rlaw0KYGBge3J9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkocmVhZHhsKQ0KYGBgDQoNCiMjIFBvZGN6eXRhbmllIGRhbnljaCB6IHBsaWt1IGxva2FsbmVnbyDFm2NpxIVnbmnEmXRlZ28geiAqKmJkbCoqICpHVVMqLg0KDQpEYW5lIGRvdHljesSFICoqcHJ6eXJvc3R1IG5hdHVyYWxuZWdvIG5hIDEwMDAgbHVkbm/Fm2NpIHdnIG1pZWpzY2EgemFtaWVzemthbmlhKiouDQpgYGB7cn0NCnByenlyb3N0IDwtIHJlYWRfZXhjZWwoImRhbmUvTFVETl8zNDI1X1hQSVZfMjAyMDA0MDcwOTEzNTgueGxzeCIsIA0KICAgICAgICAgICAgICAgICAgICAgICBzaGVldCA9ICJEQU5FIiwgDQogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGMoInRleHQiLCJ0ZXh0IiwgInRleHQiLCAidGV4dCIsICJudW1lcmljIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNraXAiLCAic2tpcCIpKQ0KYGBgDQoNCmBgYHtyfQ0KcHJ6eXJvc3QgJT4lIGhlYWQNCmBgYA0KDQojIyBabWlhbm5hIHBvbHNraWNoIG5hencgbmEgYW5naWVsc2tpZSAoUiBuYSBvZ8OzxYIgbHViaSB0eWxrbyBsaXRlcnkgYWxmYWJldHUgxYJhY2nFhHNraWVnbykgb3JheiBwaXNvd25pIHdvamV3w7NkenR3Lg0KYGBge3J9DQpwcnp5cm9zdCA8LSBwcnp5cm9zdCAlPiUNCiAgbXV0YXRlKE5hendhID0gc3RyX3RvX3RpdGxlKChOYXp3YSkpLA0KICAgICAgICAgTG9rYWxpemFjamUgPSBzdHJfcmVwbGFjZShMb2thbGl6YWNqZSwgIm9nw7PFgmVtIiwgImFsbCIpLA0KICAgICAgICAgTG9rYWxpemFjamUgPSBzdHJfcmVwbGFjZShMb2thbGl6YWNqZSwgIncgbWlhc3RhY2giLCAiY2l0aWVzIiksDQogICAgICAgICBMb2thbGl6YWNqZSA9IHN0cl9yZXBsYWNlKExva2FsaXphY2plLCAibmEgd3NpIiwgInZpbGxhZ2VzIikpDQpgYGANCg0KIyMgWm1pYW5uYSBuYXp3eSBrb2x1bW55IHphd2llcmFqxIVjxIUgbmF6d3kgd29qZXfDs2R6dHcgKGRhbGN6ZWdvIHphIGNod2lsxJkpLg0KYGBge3J9DQpuYW1lcyhwcnp5cm9zdCkNCmBgYA0KDQpgYGB7cn0NCm5hbWVzKHByenlyb3N0KVsyXSA8LSAiTkFNRV8xIg0KbmFtZXMocHJ6eXJvc3QpDQpgYGANCg0KIyMgUG/FgsSFY3puaWUgaW5mb3JtYWNqaSBvIHJva3UgaSBsb2thbGl6YWNqaSB3IGplZG5vIChmdW5rY2phICp1bml0ZSopLg0KYGBge3J9DQpwcnp5cm9zdCA8LSBwcnp5cm9zdCAlPiUNCiAgc2VsZWN0KE5BTUVfMSwgS29kLCBSb2ssIExva2FsaXphY2plLCBXYXJ0b3NjKSAlPiUNCiAgdW5pdGUoInllYXIubG9jYWwiLCBjKFJvaywgTG9rYWxpemFjamUpLCBzZXAgPSAiLiIpDQpgYGANCg0KIyMgUG9zdGHEhyBzemVyb2thIHpiaW9ydSBkYW55Y2ggKGplZG5lIHdpZXJzeiBuYSB3b2pld8OzZHp0d28pLg0KYGBge3J9DQpwcnp5cm9zdC53IDwtIHByenlyb3N0ICU+JQ0KICBwaXZvdF93aWRlcigNCiAgICBuYW1lc19mcm9tID0geWVhci5sb2NhbCwNCiAgICB2YWx1ZXNfZnJvbSA9IFdhcnRvc2MNCiAgKQ0KYGBgDQoNCiMjIEJpYmxpb3RlayAqKnNmKiogZG8gcHJhY3kgeiBkYW55bWkgcHJ6ZXN0cnplbm55bWkuDQpgYGB7cn0NCmxpYnJhcnkoc2YpDQpgYGANCg0KIyMgUG9kY3p5dGFuaWUgcGxpa3Uga29udHVyw7N3IHdvamV3w7NkenR3Lg0KDQpEYW5lIHBvY2hvZHrEhSB6ZSBzdHJvbnkgW2dhZG0ub3JnXShodHRwczovL2dhZG0ub3JnL2RhdGEuaHRtbCkNCmBgYHtyfQ0KZ2FkbV8xc2YgPC0gcmVhZFJEUygiZGFuZS9nYWRtMzZfUE9MXzFfc2YucmRzIikNCmBgYA0KDQojIyBKYWtpZSBzxIUgem1pZW5uZSB3ICpnYWRtXzFzZio/DQpgYGB7cn0NCm5hbWVzKGdhZG1fMXNmKQ0KYGBgDQoNCiMjIEdkemllIHPEhSBuYXp3eSB3b2pld8OzZHp0dz8NCmBgYHtyfQ0KZ2FkbV8xc2YkTkFNRV8xDQpgYGANCg0KIyMgRG/FgsSFY3plbmllIGRhbnljaCBkbyBvYmlla3R1ICpzZiogeiBrb250dXJhbWkgd29qZXfDs2R6dHcuDQpgYGB7cn0NCmdhZG1fMXNmLnAgPC0gZ2FkbV8xc2YgJT4lDQogIGFzLmRhdGEuZnJhbWUoKSAlPiUNCiAgbGVmdF9qb2luKHByenlyb3N0LncpICU+JQ0KICBzdF9hc19zZigpDQpgYGANCg0KIyMgUGllcndzemEgd2Vyc2phIG1hcHkgeiBuYW5pZXNpb255bWkgZGFueW1pIChuaWUgamVzdCBuYWpsZXBzemEpLg0KYGBge3IgZmlnLmhlaWdodD03LCBmaWcud2lkdGg9N30NCmdhZG1fMXNmLnAgJT4lDQogIGdncGxvdCgpICsNCiAgZ2VvbV9zZihhZXMoZmlsbCA9IGAyMDE4LmFsbGApKSArDQogIHNjYWxlX2ZpbGxfZ3JhZGllbnQobG93ID0gInllbGxvdyIsIGhpZ2ggPSAicmVkIikgKw0KICB0aGVtZV9idygpIA0KYGBgDQoNCiMgUGllcndzemEgbWFwYSBpbHVzdHJ1asSFY2EgZGFuZSAoZ3J1cGEgMSkuDQpgYGB7cn0NCnJtKGxpc3QgPSBscygpKQ0KYGBgDQoNClR5bSByYXplbSBkYW5lIGRvdHljesSFICoqcHJ6eXJvc3R1IG5hdHVyYWxuZWdvLCB1cm9kemluIGkgemdvbsOzdyBuYSAxMDAwIGx1ZG5vxZtjaSB3ZyBtaWVqc2NhIHphbWllc3prYW5pYSoqLg0KDQpgYGB7cn0NCnByenlyb3N0IDwtIHJlYWRfZXhjZWwoImRhbmUvTFVETl8zNDI4X1hQSVZfMjAyMDA0MDcxMDQ1MzYueGxzeCIsIA0KICAgICAgICAgICAgICAgICAgICAgICBzaGVldCA9ICJEQU5FIiwgDQogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGMoInRleHQiLCJ0ZXh0IiwgInRleHQiLCAidGV4dCIsICJudW1lcmljIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNraXAiLCAic2tpcCIpKQ0KYGBgDQoNCmBgYHtyfQ0KbmFtZXMocHJ6eXJvc3QpWzNdIDwtIkluZm8iDQpgYGANCg0KYGBge3J9DQpwcnp5cm9zdCA8LSBwcnp5cm9zdCAlPiUNCiAgbXV0YXRlKE5hendhID0gc3RyX3RvX3RpdGxlKE5hendhKSwNCiAgICAgICAgIEluZm8gPSBzdHJfcmVwbGFjZShJbmZvLCAndXJvZHplbmlhIMW8eXdlIG5hIDEwMDAgbHVkbm/Fm2NpJywgInVyb2R6ZW5pYSIpLCANCiAgICAgICAgIEluZm8gPSBzdHJfcmVwbGFjZShJbmZvLCAnemdvbnkgbmEgMTAwMCBsdWRub8WbY2knLCAiemdvbnkiKSwNCiAgICAgICAgIEluZm8gPSBzdHJfcmVwbGFjZShJbmZvLCAncHJ6eXJvc3QgbmF0dXJhbG55IG5hIDEwMDAgbHVkbm/Fm2NpJywgInByenlyb3N0IikpDQpgYGANCg0KYGBge3J9DQpwcnp5cm9zdCA8LSBwcnp5cm9zdCAlPiUNCiAgc2VsZWN0KE5hendhLCBLb2QsIFJvaywgSW5mbywgV2FydG9zYykNCmBgYA0KDQpgYGB7cn0NCnByenlyb3N0IDwtIHByenlyb3N0ICU+JQ0KICB1bml0ZSgicm9rLmluZm8iLCBjKFJvaywgSW5mbyksIHNlcCA9ICIuIikNCmBgYA0KDQpgYGB7cn0NCnByenlyb3N0LncgPC0gcHJ6eXJvc3QgJT4lDQogIHBpdm90X3dpZGVyKA0KICAgIG5hbWVzX2Zyb20gPSByb2suaW5mbywNCiAgICB2YWx1ZXNfZnJvbSA9IFdhcnRvc2MNCiAgKQ0KYGBgDQoNCmBgYHtyfQ0KZ2FkbV8xc2YgPC0gcmVhZFJEUygiZGFuZS9nYWRtMzZfUE9MXzFfc2YucmRzIikNCmBgYA0KDQpgYGB7cn0NCm5hbWVzKGdhZG1fMXNmKQ0KYGBgDQoNCmBgYHtyfQ0KZ2FkbV8xc2YkTkFNRV8xDQpgYGANCg0KYGBge3J9DQpuYW1lcyhwcnp5cm9zdC53KVsxXSA8LSAiTkFNRV8xIg0KbmFtZXMocHJ6eXJvc3QudykNCmBgYA0KDQpgYGB7cn0NCmdhZG1fMXNmLnAgPC0gZ2FkbV8xc2YgJT4lDQogIGFzLmRhdGEuZnJhbWUoKSAlPiUNCiAgbGVmdF9qb2luKHByenlyb3N0LncpICU+JQ0KICBzdF9hc19zZg0KYGBgDQoNCmBgYHtyfQ0KZ2FkbV8xc2YucCAlPiUNCiAgZ2dwbG90KCkgKw0KICBnZW9tX3NmKGFlcyggZmlsbCA9IGAyMDE4LnVyb2R6ZW5pYWApKSArDQogIHNjYWxlX2ZpbGxfZ3JhZGllbnQobG93ID0gInllbGxvdyIsIGhpZ2ggPSAicmVkIikNCmBgYA0KIyBQcmFjYSBkb21vd2ENCg0KRG8gd3lrb25hbmlhIGplZG5hIHogbWFwIC0gaWx1c3RyYWNqYSBkYW55Y2ggeiAqYmRsKiAqR1VTKi4NCkRhbmU6DQoNCjEuIFJZTkVLIE5JRVJVQ0hPTU/FmkNJLg0KMi4gUllOS09XQSBTUFJaRURBxbsgTE9LQUxJIE1JRVNaS0FMTllDSC4NCjMuIMWacmVkbmlhIGNlbmEgemEgMSBtMiBsb2thbGkgbWllc3prYWxueWNoIHNwcnplZGFueWNoIHcgcmFtYWNoIHRyYW5zYWtjamkgcnlua293eWNoLg0KDQpNYXBhDQoNCjEuKG1vxbxuYSB6ZG9iecSHIG1ha3N5bWFsbmllIDgwJSBwdW5rdMOzdykgLSBtYXBhIGRsYSB3b2pld8OzZHp0dyAtIGFuYWxvZ2ljem5hIGRvIHd5a29uYW5hamUgbmEgbGFib3JhdG9yaXVtLg0KMi4obW/FvG5hIHpkb2J5xIcgbWFrc3ltYWxuaWUgMTAwJSBwdW5rdMOzdykgLSBtYXBhIGRsYSBwb3dpYXTDs1cgd29qZXfDs2R6dHdhIHBvZGxhc2tpZWdvIC0gbmFsZcW8eSB1xbx5xIcgb3BjamkgZmlsdHJvd2FuaWEuDQoNCmBgYHtyIGluY2x1ZGUgPSBGQUxTRX0NCmRldGFjaChwYWNrYWdlOnJlYWR4bCkNCg0KZGV0YWNoKHBhY2thZ2U6dGlkeXZlcnNlKQ0KZGV0YWNoKHBhY2thZ2U6Z2dwbG90MikNCmRldGFjaChwYWNrYWdlOnRpYmJsZSkNCmRldGFjaChwYWNrYWdlOnRpZHlyKQ0KZGV0YWNoKHBhY2thZ2U6cmVhZHIpDQpkZXRhY2gocGFja2FnZTpwdXJycikNCmRldGFjaChwYWNrYWdlOmRwbHlyKQ0KZGV0YWNoKHBhY2thZ2U6c3RyaW5ncikNCmRldGFjaChwYWNrYWdlOmZvcmNhdHMpDQoNCmRldGFjaChwYWNrYWdlOnNmKQ0KYGBg