R User and developer meeting - Open social data

R
data
Tekijä
Julkaistu

27. elokuuta 2024

Linkkejä seminaarissa pitämääni esitykseen

Perhevapaavertailu

Kelan avoin data

hyödyntäviä sovelluksia

kelaopendata-esimerkki

library(kelaopendata)
library(dplyr)
dsets <- list_datasets()
print(dsets, n = 50)
# A tibble: 25 × 3
   modified   name                                                         id   
   <date>     <chr>                                                        <chr>
 1 2024-08-26 voimassa-olleet-alkaneet-ja-paattyneet-laakekorvausoikeudet  7083…
 2 2024-08-20 kelan-maksaman-perustoimeentulotuen-menot-ja-palautukset     4b64…
 3 2024-08-15 kuntien-rahoittama-tyomarkkinatuki                           970f…
 4 2024-08-15 maksetut-yleiset-asumistuet1                                 f80f…
 5 2024-08-15 kelan-maksamat-elake-etuudet                                 341d…
 6 2024-08-15 maksetut-takuuelakkeet                                       17cd…
 7 2024-08-15 suomen-tyokyvyttomyyselakkeensaajat-sairauden-mukaan         8be0…
 8 2024-08-15 etuuksien-ratkaisut                                          3fec…
 9 2024-08-15 perustoimeentulotuen-saajat                                  af7a…
10 2024-08-15 takuuelakkeen-saajat-ja-keskimaaraiset-elakkeet              53d5…
11 2024-08-15 suomen-elakkeensaajat-ja-keskimaaraiset-elakkeet             e88d…
12 2024-08-15 sairauspaivarahojen-saajat-ja-maksetut-etuudet-sairauspaary… a2ce…
13 2024-08-15 kelan-elake-etuuden-saajat-ja-keskimaaraiset-etuudet         8df7…
14 2024-08-15 perustoimeentulotuen-saajakotitaloudet                       802e…
15 2024-08-15 sairauspaivarahojen-saajat-ja-maksetut-etuudet-diagnooseitt… dd43…
16 2024-08-15 vanhempainpaivarahojen-saajat-ja-maksetut-etuudet            fcec…
17 2024-08-15 tyomarkkinatuen-saajat-tukipaivien-kertyman-ja-korvausperus… 06fc…
18 2024-08-15 kelan-tyottomyysetuudet-korvausperusteen-mukaan              3080…
19 2024-08-15 kelan-tyottomyysetuuksien-saajat-kuukauden-lopussa           4378…
20 2024-08-15 kunnan-osarahoittaman-tyomarkkinatuen-saajat-ja-maksetut-et… 5dd6…
21 2024-08-15 koulumatkatuen-saajat-ja-maksetut-tuet                       3937…
22 2024-08-15 opintotuen-saajat-ja-maksetut-tuet                           6c4d…
23 2024-08-15 kelan-etuuksien-saajat-ja-maksetut-etuudet                   9af3…
24 2024-08-15 sairaanhoitokorvausten-saajat-ja-maksetut-korvaukset         2236…
25 2023-06-19 helsingin-seudun-sairastavuusindeksi                         06f6…

Valitaan sitten uusimman datan id ja poimitaan data kokonaisuudessaan.

id <- dsets[1,]$id # valitaan eka id
koko_aineisto <- get_data_csv(data_id = id)
koko_aineisto
# A tibble: 1,550,463 × 13
   aikatyyppi vuosi hyvinvointialue_nro hyvinvointialue_nimi ikaryhma sukupuoli
   <chr>      <dbl> <chr>               <chr>                <chr>    <chr>    
 1 Vuosi       2017 19                  Pohjois-Pohjanmaa    10-14    Mies     
 2 Vuosi       2017 19                  Pohjois-Pohjanmaa    10-14    Mies     
 3 Vuosi       2017 19                  Pohjois-Pohjanmaa    10-14    Mies     
 4 Vuosi       2017 19                  Pohjois-Pohjanmaa    10-14    Mies     
 5 Vuosi       2017 19                  Pohjois-Pohjanmaa    10-14    Mies     
 6 Vuosi       2017 19                  Pohjois-Pohjanmaa    10-14    Mies     
 7 Vuosi       2017 19                  Pohjois-Pohjanmaa    10-14    Mies     
 8 Vuosi       2017 19                  Pohjois-Pohjanmaa    10-14    Mies     
 9 Vuosi       2017 19                  Pohjois-Pohjanmaa    10-14    Mies     
10 Vuosi       2017 19                  Pohjois-Pohjanmaa    10-14    Mies     
# ℹ 1,550,453 more rows
# ℹ 7 more variables: korvausoikeus_koodi <dbl>, korvausoikeus_selite <chr>,
#   alkanut_lkm <dbl>, kokovuosi_lkm <dbl>, kuolema_lkm <dbl>,
#   voimassaolleet_lkm <dbl>, vuodenlopussa_lkm <dbl>

Korvausoikeuksia on datassa kaikkiaan 361.

koko_aineisto %>% 
  count(korvausoikeus_selite)
# A tibble: 361 × 2
   korvausoikeus_selite                                               n
   <chr>                                                          <int>
 1 101 Aivolisäkkeen etulohkon vajaatoiminta                      25601
 2 102 Vesitystauti                                               15664
 3 103 Diabetes, insuliinihoito                                   36266
 4 104 Kilpirauhasen vajaatoiminta                                34288
 5 105 Lisämunuaisten kuorikerroksen vajaatoiminta                20383
 6 106 Lisäkilpirauhasten vajaatoiminta                           19439
 7 107 Pernisiöösi anemia ja muut B12-vitamiinin imeytymishäiriöt 26072
 8 108 Myasthenia gravis                                          16362
 9 109 MS-tauti                                                   20581
10 110 Parkinsonin tauti ja siihen verrattavat liikehäiriöt       23211
# ℹ 351 more rows

Valitaan niistä 103 Diabetes, insuliinihoito ja 331 Atomoksetiini, deksamfetamiini, guanfasiini ja lisdeksamfetamiini, ja piirretään siitä hyvinvointialueiset aikasarjat vuosittain koko ajanjaksolta.

Ryhmitellään datan vuoden ja hyvinvointialueen mukaan ja yhteenlasketaan korvausoikeuksien määrä.

diabetes <- koko_aineisto %>% 
  filter(korvausoikeus_selite %in% c("103 Diabetes, insuliinihoito",
                                     "331 Atomoksetiini, deksamfetamiini, guanfasiini ja lisdeksamfetamiini")) %>% 
  group_by(vuosi,hyvinvointialue_nimi,hyvinvointialue_nro,korvausoikeus_selite) %>% 
  summarise(vuodenlopussa_lkm  = sum(vuodenlopussa_lkm, na.rm = TRUE)) %>% 
  ungroup()

Sitten piirretään aikasarjakuva ggplot2:lla.

library(ggplot2)
ggplot(diabetes, 
       aes(x = vuosi, y = 
             vuodenlopussa_lkm, 
           color = hyvinvointialue_nimi,
           label = hyvinvointialue_nimi)) +
  geom_line() +
  theme(legend.position = "none") +
  geom_text(data = diabetes %>% filter(vuosi == 2023), hjust = 2) +
  facet_wrap(~korvausoikeus_selite, scales = "free_y") + 
  labs(title = "Erityiskorvausoikeudet vuoden lopussa hyvinvointialueittain", 
       caption = "Kelan avoin data")

Uudelleenkäyttö

Viittaus

BibTeX-viittaus:
@online{kainu2024,
  author = {Kainu, Markus},
  title = {R User and developer meeting - Open social data},
  date = {2024-08-27},
  url = {https://markuskainu.fi/posts/2024-05-30-diak-karttasovellus/},
  langid = {fi}
}
Viitatkaa tähän teokseen seuraavasti:
Kainu, Markus. 2024. “R User and developer meeting - Open social data.” August 27, 2024. https://markuskainu.fi/posts/2024-05-30-diak-karttasovellus/.