library(dplyr, warn.conflicts = FALSE)
library(forcats)
library(tidyr)
library(readxl)
library(stringr)
# Main table
tsz_2018 <- read_excel(
path = "data-raw/teruleti_szamjelrendszer_struktura_elemei_2018.xlsx",
col_names = c("telepules_azonosito_torzsszam", "nev",
"teruleti_jelzoszam", "jogallas_2005",
"statisztikai_nagyregio_kodja", "regio_2016",
"nuts_16", "jaras_kod", "jaras_kozpont_kodja",
"agglomeracio_kodja",
"polgarmesteri_hivatal_kozos_onkormanyzati_hivatal_kodja",
"polgarmesteri_hivatal_kozos_onkormanyzati_hivatal_szekhelyenek_kodja",
"mezogazdasagi_tajkorzet", "borregio", "borvidek_09",
"turisztikai_regio", "vilagoroksegi_helyszinek",
"vilagoroksegi_helyszinek_vedoovezete",
"nemzeti_parkok",
"falusi_szallasadas_lehetseges_helyszinei",
"kedvezmenyezett_telepulesek_kodja",
"kedvezmenyezett_jarasok_kodja",
"szabad_vallalkozasi_zonak",
"teruletfejlesztesi_szempontbol_kiemelt_terseg"),
skip = 1
)
# Helper table with the main classifications' labels
tsz_2018_megnevezessel <-
read_excel(
path = "data-raw/teruleti_szamjelrendszer_struktura_elemei_2018_megnevezesekkel.xlsx",
col_names = c("telepules_azonosito_torzsszam_telepuleskod", "nev",
"teruleti_jelzoszam",
"teruleti_jelzoszambol_kepzett_megyekod", "megyenev",
"jogallas_2005", "jogallas_2005_megnevezese",
"statisztikai_nagyregio_kodja",
"statisztikai_nagyregio_neve", "regio_2016_kodja",
"regio_neve", "jaras_kod", "jaras_neve"),
skip = 1
) %>%
# Uniform names
rename(
telepules_azonosito_torzsszam = telepules_azonosito_torzsszam_telepuleskod
) %>%
# Drop columns present in both tables
select(
-nev, -teruleti_jelzoszam, -jogallas_2005, -statisztikai_nagyregio_kodja,
-regio_2016_kodja, -jaras_kod
)
# Joining the tables and simplifying column names
tsz_2018 <- tsz_2018 %>%
left_join(tsz_2018_megnevezessel, by = "telepules_azonosito_torzsszam") %>%
select(
telepules_azonosito_torzsszam, nev, teruleti_jelzoszam,
teruleti_jelzoszambol_kepzett_megyekod, megyenev, jogallas_2005,
jogallas_2005_megnevezese, statisztikai_nagyregio_kodja,
statisztikai_nagyregio_neve, regio_2016, regio_neve, jaras_kod, jaras_neve,
nuts_16, everything()
) %>%
rename(
torzsszam = telepules_azonosito_torzsszam,
telepules = nev,
megye = teruleti_jelzoszambol_kepzett_megyekod,
megye_nev = megyenev,
jogallas_2005_nev = jogallas_2005_megnevezese,
statisztikai_nagyregio = statisztikai_nagyregio_kodja,
statisztikai_nagyregio_nev = statisztikai_nagyregio_neve,
regio = regio_2016,
regio_nev = regio_neve,
jaras = jaras_kod,
jaras_nev = jaras_neve,
jaras_kozpont = jaras_kozpont_kodja,
agglomeracio = agglomeracio_kodja,
polgarmesteri_hivatal_kozos_onkormanyzati_hivatal = polgarmesteri_hivatal_kozos_onkormanyzati_hivatal_kodja,
polgarmesteri_hivatal_kozos_onkormanyzati_hivatal_szekhely = polgarmesteri_hivatal_kozos_onkormanyzati_hivatal_szekhelyenek_kodja,
vilagoroksegi_helyszin = vilagoroksegi_helyszinek,
vilagoroksegi_helyszin_vedoovezete = vilagoroksegi_helyszinek_vedoovezete,
nemzeti_park = nemzeti_parkok,
falusi_szallasadas = falusi_szallasadas_lehetseges_helyszinei,
kedvezmenyezett_telepules = kedvezmenyezett_telepulesek_kodja,
kedvezmenyezett_jaras = kedvezmenyezett_jarasok_kodja,
szabad_vallalkozasi_zona = szabad_vallalkozasi_zonak
)
# A few cosmetic fixes for Budapest
tsz_2018 <- tsz_2018 %>%
# Budapest's 23 districts are classified under "fovaros". Replace them
# with Budapest, to make it consistent with other sources.
mutate(
megye_nev = if_else(megye == "01", "Budapest", megye_nev)
) %>%
arrange(jaras, jaras_nev) %>%
fill(jaras_nev) %>%
arrange(torzsszam)
# Set factor levels for code labels. This keeps their commonly used
# ordering based on their coding systems instead of simple
# alphabetical sorting.
tsz_2018 <- tsz_2018 %>%
# Counties' codes are sorted alphabetically by name, so we need a helper
# column based on NUTS.
mutate(megye_sor = str_replace(nuts_16, "ZZZ", "999"),
megye_sor = as.integer(str_remove(megye_sor, "HU"))) %>%
mutate(megye_nev = fct_reorder(megye_nev, megye_sor),
jogallas_2005_nev = fct_reorder(jogallas_2005_nev,
as.integer(jogallas_2005)),
statisztikai_nagyregio_nev = fct_reorder(statisztikai_nagyregio_nev,
as.integer(statisztikai_nagyregio)),
regio_nev = fct_reorder(regio_nev, as.integer(regio)),
jaras_nev = fct_reorder(jaras_nev, as.integer(jaras))) %>%
select(-megye_sor)
# Save
usethis::use_data(tsz_2018, overwrite = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.