susR: Zjednodušenie práce s dátami Štatistického úradu SR v R 150 150 cleandata

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.

blog

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
districts <- susr_dimension_values("om7013rr",
                                   "om7013rr_vuc") |> 
  filter(str_detect(element_label, "District of"))


params <- list(
  "om7013rr", # tabuľka so stredným stavom
  list( 
    districts$element_value, # okresy
    "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( 
    districts$element_value, # okresy
    "all", # roky                  
    "IN010089", # kód pre priemerný vek        
    c("1", "2") # pohlavie (1 = muži, 2 = ženy)           
    )
)

res <- fetch_susr_data(params) # volanie API

# res je vnorený list, v ktorom sú výsledky API volania
pop_df <- res[["om7013rr"]]
age_df <- res[["om7005rr"]]

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.

  • EDA časových radov: Ako odhaliť vzory skryté v čase 150 150 cleandata EDA časových radov: Ako odhaliť vzory skryté v čase
  • Ako vytvoriť interaktívny dashboard v R pomocou Quarto 150 150 cleandata Ako vytvoriť interaktívny dashboard v R pomocou Quarto

Leave a Reply

Your email address will not be published.