Read dataset from original csv files using kelaopendata
Markus Kainu
2024-09-01
Source:vignettes/read_data_csv.Rmd
read_data_csv.Rmd
Installation
kelaopendata
can be installed from Github using
# Install development version from GitHub
remotes::install_github("ropengov/kelaopendata")
# Let's first create a function that checks if the suggested
# packages are available
check_namespaces <- function(pkgs){
return(all(unlist(sapply(pkgs, requireNamespace,quietly = TRUE))))
}
In this vignette we show an alternative way for downloading dataset
from origin csv files available at https://www.avoindata.fi/data/fi/organization/kela using
get_data_csv()
-function. This method does not allow
sql-operations on the fly, as does get_data()
-function, so
you have to download the whole dataset. However, if you have issues with
Apache Arrow or Duckdb, or you only have internet access to
avoindata.fi, this is an alternative, though slower and requires more
memory.
We will implement the same task as in Fetching data using kelaopendata-vignette.
List available datasets
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…
Obtaining data on Financial aid for students (opintotuki)
Metadata
For this example we choose “Financial aid for students” as our benefit of interest. First we download the metadata and print the description field
d_id <- dsets[dsets$name == "opintotuen-saajat-ja-maksetut-tuet", ]$id
meta <- get_metadata(data_id = d_id)
meta$description
#> [1] "Tämä tietoaineisto liittyy Kelan tilastotietokanta Kelaston dynaamiseen raporttiin Opintotuen saajat ja maksetut tuet. \n\nAineistossa on tiedot opintotuen saajista, maksetuista tuista ja keskimääräisistä tuista tilastointijakson aikana. Opintotuen saajia ovat henkilöt, joille on maksettu tilastointijakson aikana säännöllinen tai takautuva opintoraha tai asumislisä, tai joilla on voimassa oleva opintolainan valtiontakaus. Maksettuihin tukiin on tilastoitu säännöllisten tai takautuvien maksujen lisäksi myös opintoetuuksien palautukset. Keskimääräiseen opintotukeen (euroa/saaja) on tilastoitu ainoastaan säännöllisesti maksetut tuet ja opintolainan valtiontakauksen euromäärä.\n\nOpintotuen saajat ja maksetut etuudet tilastoidaan kalenterivuosittain, lukuvuosittain ja kuukausittain. Lukuvuosi alkaa elokuun alussa ja päättyy seuraavan vuoden heinäkuun lopussa. Aineistossa on tietoja vuositasolla vuodesta 2005 alkaen, kuukausitasolla vuodesta 2018 alkaen ja lukuvuositasolla 2005/2006 alkaen.\n\nOppilaitosaste määräytyy etuuden maksutapahtumaan liittyvän oppilaitosnumeron perusteella. Oletusarvoisesti opintotuen saaja tilastoituu tilastointijakson viimeisimmän maksutapahtuman mukaiseen oppilaitosasteeseen. Valinnalla \"Astetiedon peruste: Kaikki oppilaitokset\" tuen saaja tilastoituu kaikkiin tilastointijakson maksutapahtumien mukaisiin oppilaitosasteisiin. Yhteissummassa tuen saaja esiintyy kuitenkin vain kerran.\n\nOppilaitosasteeseen \"Ulkomaiset oppilaitokset\" tilastoituvat ne opintotuen saajat, jotka suorittavat tutkintoa ulkomaisessa oppilaitoksessa.\n\nOpintotuen saajan ikä ja asuinkunta tilastoituvat valitun ajanjakson lopun tietojen mukaisesti. Lukuvuoden tiedoissa ikä ja asuinkunta ovat kuitenkin lukuvuoteen sisältyvän syyslukukauden lopun tieto."
And then a more technical overview of the content of data set, containing names of the csv-files, csv-dialect and values and types of each indicator in the data.
jsonlite::toJSON(meta$resources, pretty = T)
#> [
#> {
#> "name": "opintotuen-saajat-ja-maksetut-tuet",
#> "path": ["data_2005_2017.csv", "data_2018.csv", "data_2019.csv", "data_2020.csv", "data_2021.csv", "data_2022.csv", "data_2023.csv", "data_2024.csv"],
#> "format": "csv",
#> "dialect": {
#> "delimiter": ","
#> },
#> "encoding": "UTF-8",
#> "pathType": "local",
#> "schema": {
#> "fields": [
#> {
#> "name": "aikatyyppi",
#> "type": "string",
#> "format": "default",
#> "values": ["Kuukausi", "Lukuvuosi", "Vuosi"],
#> "description": "Tilaston aikajakso:\r\nVuosi\r\nLukuvuosi\r\nKuukausi, tilastointikuukauden tilanne"
#> },
#> {
#> "name": "kuukausi_nro",
#> "type": "integer",
#> "format": "default",
#> "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
#> "description": "Maksukuukauden numero."
#> },
#> {
#> "name": "vuosikuukausi",
#> "type": "integer",
#> "format": "default",
#> "values": [200512, 200607, 200612, 200707, 200712, 200807, 200812, 200907, 200912, 201007, 201012, 201107, 201112, 201207, 201212, 201307, 201312, 201407, 201412, 201507, 201512, 201607, 201612, 201707, 201712, 201801, 201802, 201803, 201804, 201805, 201806, 201807, 201808, 201809, 201810, 201811, 201812, 201901, 201902, 201903, 201904, 201905, 201906, 201907, 201908, 201909, 201910, 201911, 201912, 202001, 202002, 202003, 202004, 202005, 202006, 202007, 202008, 202009, 202010, 202011, 202012, 202101, 202102, 202103, 202104, 202105, 202106, 202107, 202108, 202109, 202110, 202111, 202112, 202201, 202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209, 202210, 202211, 202212, 202301, 202302, 202303, 202304, 202305, 202306, 202307, 202308, 202309, 202310, 202311, 202312, 202401, 202402, 202403, 202404, 202405, 202406, 202407],
#> "description": "Maksuvuosi ja kuukausi, muotoa VVVVKK."
#> },
#> {
#> "name": "vuosi",
#> "type": "integer",
#> "format": "default",
#> "values": [2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024],
#> "description": "Maksuvuosi."
#> },
#> {
#> "name": "kunta_nro",
#> "type": "string",
#> "format": "default",
#> "values": ["004", "005", "006", "009", "010", "015", "016", "017", "018", "019", "020", "035", "040", "043", "044", "045", "046", "047", "049", "050", "051", "052", "060", "061", "069", "071", "072", "073", "074", "075", "076", "077", "078", "079", "081", "082", "083", "084", "085", "086", "090", "091", "092", "095", "097", "098", "099", "101", "102", "103", "105", "106", "108", "109", "111", "139", "140", "142", "143", "145", "146", "148", "149", "150", "151", "152", "153", "163", "164", "165", "167", "169", "170", "171", "172", "173", "174", "175", "176", "177", "178", "179", "180", "181", "182", "183", "186", "199", "202", "204", "205", "208", "210", "211", "213", "214", "216", "217", "218", "220", "223", "224", "226", "227", "230", "231", "232", "233", "235", "236", "239", "240", "241", "243", "244", "245", "246", "247", "248", "249", "250", "252", "254", "255", "256", "257", "259", "260", "261", "262", "263", "265", "266", "271", "272", "273", "275", "276", "277", "279", "280", "281", "283", "284", "285", "286", "287", "288", "289", "290", "291", "292", "297", "300", "301", "303", "304", "305", "306", "308", "309", "310", "312", "315", "316", "317", "319", "320", "322", "398", "399", "400", "401", "402", "403", "405", "406", "407", "408", "410", "413", "414", "415", "416", "418", "419", "420", "421", "422", "423", "424", "425", "426", "429", "430", "433", "434", "435", "436", "439", "440", "441", "442", "443", "444", "445", "475", "476", "478", "479", "480", "481", "482", "483", "484", "485", "489", "490", "491", "493", "494", "495", "498", "499", "500", "501", "503", "504", "505", "506", "507", "508", "529", "531", "532", "533", "534", "535", "536", "537", "538", "540", "541", "543", "544", "545", "559", "560", "561", "562", "563", "564", "567", "573", "576", "577", "578", "580", "581", "583", "584", "585", "586", "587", "588", "592", "593", "595", "598", "599", "601", "602", "603", "604", "606", "607", "608", "609", "611", "614", "615", "616", "617", "618", "619", "620", "623", "624", "625", "626", "630", "631", "632", "633", "635", "636", "638", "640", "678", "680", "681", "682", "683", "684", "686", "687", "689", "691", "692", "694", "696", "697", "698", "699", "700", "701", "702", "704", "705", "707", "708", "710", "729", "732", "734", "737", "738", "739", "740", "741", "742", "743", "746", "747", "748", "749", "751", "753", "754", "755", "758", "759", "761", "762", "765", "768", "770", "772", "774", "775", "776", "777", "778", "781", "783", "784", "785", "790", "791", "831", "832", "833", "834", "835", "837", "838", "844", "845", "846", "848", "849", "850", "851", "853", "854", "855", "857", "858", "859", "863", "864", "885", "886", "887", "889", "890", "892", "893", "895", "905", "906", "908", "909", "911", "912", "913", "915", "916", "918", "920", "921", "922", "923", "924", "925", "926", "927", "928", "931", "932", "933", "934", "935", "936", "940", "942", "944", "945", "946", "971", "972", "973", "975", "976", "977", "978", "979", "980", "981", "988", "989", "992"],
#> "description": "Kunnan numero tilastointijakson lopulla. Lukuvuoden tiedoissa aluetieto on kuitenkin lukuvuoteen sisältyvän syyslukukauden lopun tieto.\r\nTilastokeskuksen kuntaluokittelu.\r\nArvo 199 tarkoittaa, että ryhmän lukumäärä on alle 4 tai tieto puuttuu.\r\nEnnen vuotta 2014 lakanneet kunnat saavat nimeksi kunnan numeron."
#> },
#> {
#> "name": "kunta_nimi",
#> "type": "string",
#> "format": "default",
#> "values": ["004", "006", "015", "017", "040", "044", "045", "073", "083", "084", "085", "095", "101", "150", "163", "173", "175", "180", "183", "210", "220", "223", "227", "243", "246", "247", "248", "252", "254", "255", "259", "262", "266", "277", "279", "281", "289", "292", "303", "306", "308", "310", "315", "401", "406", "414", "415", "419", "424", "429", "439", "443", "479", "482", "485", "490", "493", "501", "506", "533", "534", "537", "540", "544", "559", "567", "573", "585", "586", "587", "602", "603", "606", "617", "618", "632", "633", "640", "682", "692", "696", "699", "701", "705", "708", "737", "741", "754", "770", "772", "774", "775", "776", "784", "835", "855", "863", "864", "885", "906", "909", "912", "913", "916", "920", "923", "926", "928", "932", "933", "940", "942", "944", "945", "971", "972", "973", "975", "978", "979", "988", "Äänekoski", "Ähtäri", "Akaa", "Alajärvi", "Alavieska", "Alavus", "Asikkala", "Askola", "Aura", "Brändö", "Eckerö", "Enonkoski", "Enontekiö", "Espoo", "Eura", "Eurajoki", "Evijärvi", "Finström", "Forssa", "Haapajärvi", "Haapavesi", "Hailuoto", "Halsua", "Hämeenkoski", "Hämeenkyrö", "Hämeenlinna", "Hamina", "Hammarland", "Hankasalmi", "Hanko", "Harjavalta", "Hartola", "Hattula", "Hausjärvi", "Heinävesi", "Heinola", "Helsinki", "Hirvensalmi", "Hollola", "Honkajoki", "Huittinen", "Humppila", "Hyrynsalmi", "Hyvinkää", "Ii", "Iisalmi", "Iitti", "Ikaalinen", "Ilmajoki", "Ilomantsi", "Imatra", "Inari", "Inkoo", "Isojoki", "Isokyrö", "Jalasjärvi", "Jämijärvi", "Jämsä", "Janakkala", "Järvenpää", "Joensuu", "Jokioinen", "Jomala", "Joroinen", "Joutsa", "Juankoski", "Juuka", "Juupajoki", "Juva", "Jyväskylä", "Kaarina", "Kaavi", "Kajaani", "Kalajoki", "Kangasala", "Kangasniemi", "Kankaanpää", "Kannonkoski", "Kannus", "Karijoki", "Karkkila", "Kärkölä", "Kärsämäki", "Karstula", "Karvia", "Kaskinen", "Kauhajoki", "Kauhava", "Kauniainen", "Kaustinen", "Keitele", "Kemi", "Kemijärvi", "Keminmaa", "Kemiönsaari", "Kempele", "Kerava", "Keuruu", "Kihniö", "Kinnula", "Kirkkonummi", "Kitee", "Kittilä", "Kiuruvesi", "Kivijärvi", "Kokemäki", "Kokkola", "Kolari", "Konnevesi", "Kontiolahti", "Korsnäs", "Koski Tl", "Kotka", "Kouvola", "Köyliö", "Kristiinankaupunki", "Kruunupyy", "Kuhmo", "Kuhmoinen", "Kuopio", "Kuortane", "Kurikka", "Kustavi", "Kuusamo", "Kyyjärvi", "Lahti", "Laihia", "Laitila", "Lapinjärvi", "Lapinlahti", "Lappajärvi", "Lappeenranta", "Lapua", "Laukaa", "Lavia", "Lemi", "Lempäälä", "Leppävirta", "Lestijärvi", "Lieksa", "Lieto", "Liminka", "Liperi", "Lohja", "Loimaa", "Loppi", "Loviisa", "Luhanka", "Lumijoki", "Luoto", "Luumäki", "Luvia", "Maalahti", "Maaninka", "Maarianhamina", "Mäntsälä", "Mänttä-Vilppula", "Mäntyharju", "Marttila", "Masku", "Merijärvi", "Merikarvia", "Miehikkälä", "Mikkeli", "Muhos", "Multia", "Muonio", "Mustasaari", "Muurame", "Mynämäki", "Myrskylä", "Naantali", "Nakkila", "Närpiö", "Nastola", "Nivala", "Nokia", "Nousiainen", "Nurmes", "Nurmijärvi", "Orimattila", "Oripää", "Orivesi", "Oulainen", "Oulu", "Outokumpu", "Padasjoki", "Paimio", "Pälkäne", "Paltamo", "Parainen", "Parikkala", "Parkano", "Pedersören kunta", "Pelkosenniemi", "Pello", "Perho", "Pertunmaa", "Petäjävesi", "Pieksämäki", "Pielavesi", "Pietarsaari", "Pihtipudas", "Pirkkala", "Polvijärvi", "Pomarkku", "Pori", "Pornainen", "Porvoo", "Posio", "Pöytyä", "Pudasjärvi", "Pukkila", "Punkalaidun", "Puolanka", "Puumala", "Pyhäjärvi", "Pyhäjoki", "Pyhäntä", "Pyhäranta", "Pyhtää", "Raahe", "Rääkkylä", "Raasepori", "Raisio", "Rantasalmi", "Ranua", "Rauma", "Rautalampi", "Rautavaara", "Rautjärvi", "Reisjärvi", "Riihimäki", "Ristijärvi", "Rovaniemi", "Ruokolahti", "Ruovesi", "Rusko", "Saarijärvi", "Säkylä", "Salla", "Salo", "Sastamala", "Sauvo", "Savitaipale", "Savonlinna", "Savukoski", "Seinäjoki", "Sievi", "Siikainen", "Siikajoki", "Siikalatva", "Siilinjärvi", "Simo", "Sipoo", "Siuntio", "Sodankylä", "Soini", "Somero", "Sonkajärvi", "Sotkamo", "Sulkava", "Suomussalmi", "Suonenjoki", "Sysmä", "Taipalsaari", "Taivalkoski", "Taivassalo", "Tammela", "Tampere", "Tarvasjoki", "Tervo", "Tervola", "Teuva", "Tohmajärvi", "Toholampi", "Toivakka", "Tornio", "Tuntematon", "Turku", "Tuusniemi", "Tuusula", "Tyrnävä", "Ulvila", "Urjala", "Utajärvi", "Utsjoki", "Uurainen", "Uusikaarlepyy", "Uusikaupunki", "Vaala", "Vaasa", "Valkeakoski", "Valtimo", "Vantaa", "Varkaus", "Vehmaa", "Vesanto", "Vesilahti", "Veteli", "Vieremä", "Vihti", "Viitasaari", "Vimpeli", "Virolahti", "Virrat", "Vöyri", "Ylitornio", "Ylivieska", "Ylöjärvi", "Ypäjä"],
#> "description": "Kunnan nimi tilastointijakson lopulla. Lukuvuoden tiedoissa aluetieto on kuitenkin lukuvuoteen sisältyvän syyslukukauden lopun tieto.\r\nTilastokeskuksen kuntaluokittelu. (Huom! Ennen vuotta 2014 lakanneiden kuntien nimet näkyvät aineistossa kuntanumerona).\r\nPuuttuvan/piilotetun tiedon vakioteksti: 'Tuntematon'."
#> },
#> {
#> "name": "ikaryhma",
#> "type": "string",
#> "format": "default",
#> "values": ["16-19", "20-24", "25-29", "30-34", "35-39", "40-44", "45-49", "50-54", "55-", "Tieto puuttuu"],
#> "description": "Saajan ikäryhmä tilastointijakson lopussa. Lukuvuoden tiedoissa ikä on kuitenkin ikä lukuvuoteen sisältyvän syyslukukauden lopussa.\r\nIkäryhmä (16–19 v, 20–24 v, …, 50–54 v, yli 54 v)\r\nTieto puuttuu, ryhmän lukumäärä on alle 4 tai tieto puuttuu. Puuttuvan/piilotetun tiedon vakioteksti: 'Tieto puuttuu'."
#> },
#> {
#> "name": "sukupuoli",
#> "type": "string",
#> "format": "default",
#> "values": ["Mies", "Nainen", "Tuntematon"],
#> "description": "Sukupuoli:\r\nMies\r\nNainen\r\nTuntematon, ryhmän lukumäärä on alle 4 tai tieto puuttuu. Puuttuvan/piilotetun tiedon vakioteksti: 'Tuntematon'."
#> },
#> {
#> "name": "etuus",
#> "type": "string",
#> "format": "default",
#> "values": ["Aikuisopintoraha", "Asumislisä", "Opintolainan valtiontakaus", "Opintoraha", "Opintoraha ja asumislisä yhteensä", "Yhteensä"],
#> "description": "Yhteensä, Opintoraha ja asumislisä yhteensä, \r\nOpintoraha, Asumislisä, aiemmin maksettu Aikuisopintoraha \r\nja Opintolainan valtiontakaus\r\nPuuttuvan/piilotetun tiedon vakioteksti: 'Tieto puuttuu'."
#> },
#> {
#> "name": "oppilaitos_peruste",
#> "type": "string",
#> "format": "default",
#> "values": ["Kaikki oppilaitokset", "Viimeisin oppilaitos"],
#> "description": "Oppilaitosasteen peruste\r\nKaikki oppilaitokset \r\nViimeisin oppilaitos "
#> },
#> {
#> "name": "oppilaitosaste",
#> "type": "string",
#> "format": "default",
#> "values": ["Ammatilliset oppilaitokset", "Ammattikorkeakoulut", "Lukiot", "Muut oppilaitokset", "Tieto puuttuu", "Ulkomaiset oppilaitokset", "Yhteensä", "Yliopistot"],
#> "description": "Oppilaitosaste\r\nYliopistot, Ammattikorkeakoulut, Ammatilliset oppilaitokset, Lukiot, Muut oppilaitokset ja Ulkomaiset oppilaitokset\r\nPuuttuvan/piilotetun tiedon vakioteksti: 'Tieto puuttuu'."
#> },
#> {
#> "name": "saaja_lkm",
#> "type": "number",
#> "format": "default",
#> "values": [0, 15666],
#> "description": "Saajien lukumäärä"
#> },
#> {
#> "name": "saaja_laskenta_lkm",
#> "type": "number",
#> "format": "default",
#> "values": [0, 15628],
#> "description": "Keskimääräisen etuuden laskentaan tarvittava saajamäärä tarkastelujakson aikana."
#> },
#> {
#> "name": "maksettu_eur",
#> "type": "number",
#> "format": "default",
#> "values": [-10307222.69, 50169562.06],
#> "description": "Maksetun etuuden rahamäärä bruttona, palautuksissa saa negatiivisen arvon."
#> },
#> {
#> "name": "maksettu_laskenta_eur",
#> "type": "number",
#> "format": "default",
#> "values": [0, 98366179.03],
#> "description": "Keskimääräisen etuuden laskentaan tarvittava euromäärä tarkastelujakson aikana."
#> }
#> ],
#> "missingValues": [""]
#> },
#> "profile": "data-resource"
#> }
#> ]
A more dense view of variables and their types and descriptions can be printed with
meta$resources$schema$fields[[1]] |>
select(-values) |>
as_tibble()
#> # A tibble: 15 × 4
#> name type format description
#> <chr> <chr> <chr> <chr>
#> 1 aikatyyppi string default "Tilaston aikajakso:\r\nVuosi\r\nLukuv…
#> 2 kuukausi_nro integer default "Maksukuukauden numero."
#> 3 vuosikuukausi integer default "Maksuvuosi ja kuukausi, muotoa VVVVKK…
#> 4 vuosi integer default "Maksuvuosi."
#> 5 kunta_nro string default "Kunnan numero tilastointijakson lopul…
#> 6 kunta_nimi string default "Kunnan nimi tilastointijakson lopulla…
#> 7 ikaryhma string default "Saajan ikäryhmä tilastointijakson lop…
#> 8 sukupuoli string default "Sukupuoli:\r\nMies\r\nNainen\r\nTunte…
#> 9 etuus string default "Yhteensä, Opintoraha ja asumislisä yh…
#> 10 oppilaitos_peruste string default "Oppilaitosasteen peruste\r\nKaikki op…
#> 11 oppilaitosaste string default "Oppilaitosaste\r\nYliopistot, Ammatti…
#> 12 saaja_lkm number default "Saajien lukumäärä"
#> 13 saaja_laskenta_lkm number default "Keskimääräisen etuuden laskentaan tar…
#> 14 maksettu_eur number default "Maksetun etuuden rahamäärä bruttona, …
#> 15 maksettu_laskenta_eur number default "Keskimääräisen etuuden laskentaan tar…
Quering, downloading and plotting the data
Let’s query data on recipients of Student loan in the city of Turku
using kelaopendata::get_data()
-function
d_raw <- kelaopendata::get_data_csv(data_id = d_id)
d_opintotuki <- d_raw %>%
filter(etuus == 'Opintolainan valtiontakaus',
aikatyyppi == 'Vuosi',
kunta_nimi == 'Turku',
etuus == 'Opintolainan valtiontakaus',
oppilaitos_peruste == 'Viimeisin oppilaitos')
Next, let’s filter the data locally in R a bit more.
d_plot <- d_opintotuki %>%
# Exclude
filter(sukupuoli != "Tuntematon",!oppilaitosaste %in% c("Tieto puuttuu", "Yhteensä")) %>%
mutate(oppilaitosaste = factor(
oppilaitosaste,
levels = c(
"Yliopistot",
"Ammattikorkeakoulut",
"Ammatilliset oppilaitokset",
"Lukiot",
"Muut oppilaitokset",
"Ulkomaiset oppilaitokset"
)
))
Finally, let’s draw a plot on recipients by gender and type of institution
library(ggplot2)
ggplot(d_plot, aes(x = vuosi, y = saaja_lkm, fill = ikaryhma)) +
geom_col(position = position_stack()) +
facet_grid(oppilaitosaste ~ sukupuoli) +
labs(title = "Recipients of government guarantee for a student loan in\nthe city of Turku in 2004 to 2024 by gender and type of institution") +
theme_light()