susR: Zjednodušenie práce s dátami Štatistického úradu SR v R
V tomto blogu vám predstavím knižnicu susR, ktorá umožňuje jednoduché pripojenie k API Štatistického úradu SR priamo z R. Ukážem, ako zefektívniť analýzu štatistických údajov, vrátane ukážok kódu a plánov na rozšírenie funkcionality knižnice.
V dnešnej dobe je prístup k otvoreným dátam kľúčový pre výskum, analýzy a tvorbu rozhodovacích nástrojov. Z tohto dôvodu som vytvoril knižnicu susR, ktorá umožňuje jednoduché pripojenie k API Štatistického úradu Slovenskej republiky (ŠÚ SR) priamo z prostredia R. Zjednodušuje prácu s oficiálnymi štatistickými údajmi, čím uľahčuje analýzu, vizualizáciu a reporting.
Prečo je susR užitočný?
Ak pracujete s oficiálnymi štatistickými údajmi, určite viete, aké dôležité je mať aktuálne a presné údaje. susR Vám umožňuje pripojiť sa priamo k zdroju dát – API ŠÚ SR, čo Vám poskytuje:
- Reprodukovateľnosť: Celý proces stiahnutia a spracovania dát je automatizovaný, čím zabezpečíte, že Váš analýzny “pipeline” bude reprodukovateľný.
- Flexibilitu: Vďaka možnosti filtrovať tabuľky a vyberať konkrétne dimenzie si môžete presne definovať, aké údaje potrebujete pre Vašu analýzu.
- Efektivitu: Nemusíte strácať čas ručným získavaním a transformáciou dát. Funkcie to spravia za Vás, pričom sa môžete sústrediť na analýzu a vizualizáciu výsledkov.
Čo dokáže knižnica susR?
susR prináša rad funkcií, ktoré Vám umožnia:
- Zobraziť dostupné tabuľky: Pomocou funkcie
susr_tables()
, ktorej názov jasne hovorí, môžete získať zoznam všetkých dostupných datasetov (tabuliek) poskytovaných ŠÚ SR. Tento zoznam obsahuje kódy tabuliek, popisy a informácie o dimenziách, čo výrazne uľahčuje výber správnych dát. - Získavať informácie o dimenziách a ich hodnotách: Knižnica umožňuje zistiť, aké dimenzie má zvolená tabuľka (napríklad roky, regióny, indikátory) a aké možnosti výberu sú dostupné pomocou funkcie
susr_dimension_values()
. To je veľmi dôležité najmä v prípade, keď je potrebné vytvoriť vlastnú selekciu z veľkého objemu dát. - Sťahovať dáta: Hlavná funkcia knižnice
fetch_susr_data()
umožňuje vytvoriť požiadavku na API s vlastnými výberovými parametrami. Vďaka tomu sa údaje z API automaticky načítajú a transformujú do podoby “tibbles”, ktoré sú pripravené na analýzu priamo v R. - Jednoduché filtrovanie: Môžete filtrovať tabuľky podľa domény, subdomény (ich zoznam aj s kódmi tabuliek získate pomocou funkcie
susr_domains()
) alebo priamo podľa kódu tabuľky. Týmto spôsobom si môžete rýchlo zúžiť výsledný zoznam podľa vlastných potrieb.
Príklad: Predstavme si, že máte záujem analyzovať dáta o priemernom veku a populácii okresov.
Pomocou susr_domains()
si pozrieme zoznam tabuliek v subdoméne “Population and migration” a vyberieme tabuľky, ktoré obsahujú potrebné údaje. Následne zistíme pomocou funkcie susr_tables()
aké parametre tabulky majú a aké hodnoty sa dajú zvoliť. Pre potreby tejto analýzi sú to:
Tabuľka om7013rr, ktorá obsahuje údaje o strednom stave obyvateľstva a má nasledujúce parametre:
om7013rr_vuc: kódy regiónov om7013rr_obd: roky om7013rr_ukaz: ukazovatele om7013rr_poh: pohlavie
Tabuľka om7005rr, ktorá obsahuje údaje o vekovom zložení obyvateľstva a má nasledujúce parametre:
om7005rr_vuc: kódy regiónov om7005rr_obd: roky om7005rr_ukaz: ukazovatele om7005rr_poh: pohlavie
Pomocou susR si môžete jednoducho postaviť svoju požiadavku, stiahnuť a spracovať dáta do tabuľky napr. takýmto workflowom:
Kód
# namiesto vypisovania kódov okresov využijeme vektor v R, ktorý použijeme ako parameter
<- susr_dimension_values("om7013rr",
districts "om7013rr_vuc") |>
filter(str_detect(element_label, "District of"))
<- list(
params "om7013rr", # tabuľka so stredným stavom
list(
$element_value, # okresy
districts"all", # roky
"IN010052", # kód pre stredný stav
c("1", "2") # pohlavie (1 = muži, 2 = ženy)
),"om7005rr", # tabuľka so priemerným vekom
list(
$element_value, # okresy
districts"all", # roky
"IN010089", # kód pre priemerný vek
c("1", "2") # pohlavie (1 = muži, 2 = ženy)
)
)
<- fetch_susr_data(params) # volanie API
res
# res je vnorený list, v ktorom sú výsledky API volania
<- res[["om7013rr"]]
pop_df <- res[["om7005rr"]] age_df
Plány do budúcnosti
Do budúcnosti plánujem rozšíriť funkcionalitu knižnice susR o niekoľko vylepšení:
Rozšírené spracovanie dimenzií:
- Chcem pridať funkcie, ktoré umožnia používateľovi zadávať výbery vo forme intervalov (napríklad last5, 2010:, :2015), alebo zadávať výbery na základe obsahu – napr. zadať „districts“, „regions“, alebo „municipalities“. Možno implementovať aj funkciu contains() pre vyhľadávanie (napr. contains(“Brezno”) pre výber obce brezno).
- Integrácia s giscoR: Plánujem vytvoriť wrapper pre giscoR, ktorý by pomohol geokódovať a pripojiť geografické informácie k dátam zo ŠÚ SR, čo by umožnilo vizualizácie na mape a geodátové analýzy.
- Viac vignett: Chcem pridať ďalšie podrobné príklady použitia knižnice – pokročilejšie scenáre, v ktorých budú ukázané rôzne aspekty analýz a spracovania dát.
- Publikovanie na CRAN: Po doladení a získavaní spätnej väzby od používateľov plánujem balíček publikovať na CRAN, čo zjednoduší jeho inštaláciu a používanie pre širšiu komunitu.
Leave a Reply