Quality of Government instituutin vuoden 2021 aineistot käytettävissä

Luokat: research data

Göteborgin yliopiston Quality of Government instituutti julkisti kuun vaihteessa uudet datansa. Datat ovat kattavia kokoelmia erilaisista maatason indikaattoreista. Päivitin samaan syssyyn ylläpitämäni R-paketin rqog, jonka avulla voit käyttää datoja R:ssä. Paketin voit asentaan Github:sta devtools-paketin avulla komennolla remotes::install_github("ropengov/rqog").

Paketin avulla pääset käsiksi kolmeen datakokonaisuuteen basic, standard ja oecd, joista kaikista on sekä poikkileikkausaineisto (cross-sectional) että aikasarja-aineisto (time-series). Eri datoissa on eri määrä indikaattoreita.

library(rqog)
library(dplyr)
library(glue)
library(ggplot2)
library(tidyr)
library(geofacet)
library(knitr)

tribble(
~data, ~indikaattoreita,
"basic poikkileikkaus",length(unique(rqog::meta_basic_cs_2021$code)),
"basic aikasarja",length(unique(rqog::meta_basic_ts_2021$code)),

"standard poikkileikkaus",length(unique(rqog::meta_std_cs_2021$code)),
"standard aikasarja",length(unique(rqog::meta_std_ts_2021$code)),

"oecd poikkileikkaus",length(unique(rqog::meta_oecd_cs_2021$code)),
"oecd aikasarja",length(unique(rqog::meta_oecd_ts_2021$code))
) %>% knitr::kable()
data indikaattoreita
basic poikkileikkaus 356
basic aikasarja 260
standard poikkileikkaus 1749
standard aikasarja 1864
oecd poikkileikkaus 1008
oecd aikasarja 1033

oecd-datan aikasarjassa on siis peräti 1033 eri indikaattorin aikasarjaa OECD-maista. Datojen avulla voi tarkastella monia kysymyksiä kuten vaikkapa Hesarissa tänään laajasti käsiteltyä syntyvyyttä ja keskitytään EU-maihin.

Aluksi etsitään sopivat indikaattorit rqog-paketin mukana tulevasta datasta meta_oecd_ts_2021.

meta_std_ts_2021 %>% 
  filter(grepl("Fertility|birth", name, ignore.case = TRUE))
## # A tibble: 26 x 5
##    code              name                                   value label class  
##    <chr>             <chr>                                  <dbl> <chr> <chr>  
##  1 eu_demfrate2      "Fertility rate, total"                   NA <NA>  numeric
##  2 eu_demlbirthlf    "Live births - females"                   NA <NA>  numeric
##  3 eu_demlbirthlm    "Live births - males"                     NA <NA>  numeric
##  4 eu_demlbirthlt    "Live births - total"                     NA <NA>  numeric
##  5 eu_demmawc        "Mean age of woman at childbirth"         NA <NA>  numeric
##  6 oecd_fertility_t1 "Total fertility rates"                   NA <NA>  numeric
##  7 oecd_lifeexpy_g1  " Life expectancy at birth: total"        NA <NA>  numeric
##  8 oecd_lifeexpy_g2a " Life expectancy at birth: women"        NA <NA>  numeric
##  9 oecd_lifeexpy_g2b " Life expectancy at birth: men"          NA <NA>  numeric
## 10 wdi_birth         "Birth rate, crude (per 1,000 people)"    NA <NA>  numeric
## # … with 16 more rows

Aineistosta löytyy kolme eri hedelmällisyysasteen indikaattoria: EU:n eu_demfrate2 (Fertility rate, total), OECD:n oecd_fertility_t1 (Total fertility rates) ja Maailmanpankin wdi_fertility (Fertility rate, total (births per woman)). Tarkastellaan ensin millaiset aikasarjat näistä on ja ovat ne lähellä toisiaan.

# Haetaan data
std_ts <- rqog::read_qog(which_data = "std", 
                          year = "2021", 
                          data_type = "time-series") %>% 
  # nimetään maita uudelleen
  mutate(cname = ifelse(grepl("France", cname), "France", 
                        ifelse(grepl("Cyprus", cname), "Cyprus", cname)))
# Valitaan avainmuuttujat: maanimi, vuosi ja indikaattorit
dat <- std_ts %>% 
  filter(year >= 1980) %>% 
  select(cname,year,oecd_fertility_t1,wdi_fertility,eu_demfrate2) %>% 
  pivot_longer(names_to = "indikaattori", values_to = "arvo", 3:5) %>% 
  # filtteroidaan maat geofacet::eu_grid1-datan pohjalta
  filter(cname %in% geofacet::eu_grid1$name)

ggplot(dat, aes(x = year, y = arvo, color = indikaattori, group = indikaattori)) +
  geom_path(alpha = .4) + 
  ggrepel::geom_text_repel(data = dat %>% 
              na.omit() %>% 
              group_by(cname,indikaattori) %>% 
              filter(year == max(year, na.rm = TRUE)) %>% 
              ungroup(), 
            aes(label = year), show.legend = FALSE, size = 3) +
  facet_geo(~cname, grid = geofacet::eu_grid1) +
  labs(title = "EU:n, OECD:n ja Maailmanpankin hedelmällisyysaste-indikaattori EU-maissa 1980 alkaen", 
       color = NULL,
       caption = "Data: Quality of Government Instititute 2021")

EU:n ja OECD:n aikasarjat jatkuvat molemmat vuoteen 2018 useimmissa maissa. OECD:n aikasarja ei käsitä kaikkia EU-maita, joten valitaan tarkasteltavaksi indikaattoriksi EU:n eu_demfrate2. Taulukossa EU-maat on asetettu suuruusjärjestyksene vuoden 2018 arvon mukaan

dat2 <- dat %>% 
  na.omit() %>% 
  filter(indikaattori == "eu_demfrate2")
dat2 %>% 
  group_by(cname) %>% 
  filter(year == max(year, na.rm = TRUE)) %>% 
  ungroup() %>% 
  arrange(desc(arvo)) %>% 
  select(cname,arvo) %>% 
  setNames(c("maa","kokonaishedelmällisyysaste")) %>% 
      print(n = 100)
## # A tibble: 28 x 2
##    maa            kokonaishedelmällisyysaste
##    <chr>                               <dbl>
##  1 France                               1.88
##  2 Romania                              1.76
##  3 Sweden                               1.76
##  4 Ireland                              1.75
##  5 Denmark                              1.73
##  6 Czech Republic                       1.71
##  7 United Kingdom                       1.68
##  8 Estonia                              1.67
##  9 Lithuania                            1.63
## 10 Belgium                              1.62
## 11 Latvia                               1.6 
## 12 Slovenia                             1.6 
## 13 Netherlands                          1.59
## 14 Germany                              1.57
## 15 Bulgaria                             1.56
## 16 Hungary                              1.55
## 17 Slovakia                             1.54
## 18 Austria                              1.47
## 19 Croatia                              1.47
## 20 Poland                               1.46
## 21 Portugal                             1.42
## 22 Finland                              1.41
## 23 Luxembourg                           1.38
## 24 Greece                               1.35
## 25 Cyprus                               1.32
## 26 Italy                                1.29
## 27 Spain                                1.26
## 28 Malta                                1.23

Lääkkeiksi ‘vauvakatoon’ Hesarin jutussa nimetään perhe-etuuksien parantaminen sekä työelämän perheystävällisyyden lisääminen. Työllisyysteen liittyviä muuttujia hakutermillä employment löytyy standard-datasta kaikkiaa 256. Valitaan niistä kahden muuttujan analyyseihin seuraavat kaksi muuttujaa:

  1. eu_empy2554f: Employment rates: 25-34 Years, Female (percentage of active population)
  2. eu_empy2554m: Employment rates: 25-34 Years, Male (percentage of active population)

Hatarana teoreettisena ajatuksena ilman lähdeviitteitä pidetäköön sitä, että nuorten miesten matala työllisyysaste olisi yhteydessä matalaan syntyvyyteen, samoin kuin nuorten naisten korkea työllisyysaste.

dat <- std_ts %>% 
  select(cname,year,eu_empy2554f,eu_empy2554m,eu_demfrate2) %>% 
  filter(cname %in% geofacet::eu_grid1$name) %>% 
  rename(`2. miesten (25-34 vuotta) työllisyysaste (%)` = eu_empy2554m,
         `1. naisten (25-34 vuotta) työllisyysaste (%)` = eu_empy2554f) %>% 
  na.omit() %>% 
  pivot_longer(names_to = "indikaattori", values_to = "arvo", 3:4)

minmax_data <- bind_rows(
  dat %>% na.omit() %>% group_by(cname) %>%
    filter(year == max(year, na.rm = TRUE)),
  dat %>% na.omit() %>% group_by(cname) %>%
    filter(year == min(year, na.rm = TRUE))
) %>% ungroup()

ggplot(dat, aes(x = arvo, y = eu_demfrate2, color = indikaattori,  group = indikaattori)) +
  geom_point(alpha = .5, shape = 21, size = 1.5) + 
  geom_path(alpha = .5) +
  geom_point(data = minmax_data) +
  ggrepel::geom_label_repel(data = minmax_data,
            aes(label = year), show.legend = FALSE, size = 2.5,
            label.padding = unit(.5, "mm"), alpha = .6) +
  facet_geo(~cname, grid = geofacet::eu_grid1, scales = "free") +
  labs(title = "Nuorten miesten ja naisten työllisyysasteen yhteys kokonaishedelmällisyysasteeseen 1996-2017", 
       caption = "Data: Quality of Government Instititute 2021", 
       y = "kokonaishedelmälisyysaste",
       color = NULL)

Jätetään tulkinta lukijalle. Todennäköisesti sekä kysymystä että analyysiä on syytä tarkentaa.

Katso myös