12 Exploració
Per explicar tots els passos a seguir a l’hora de construir un índex utilitzarem d’exemple l’IDH, creat per Nacions Unides i que ha esdevingut un dels índexs més utilitzats i coneguts en l’àmbit del desenvolupament. Els orígens de l’IDH es remunten als anys 80, quan economistes com Mahbub ul Haq i Amartya Sen van començar a qüestionar el Producte Interior Brut (PIB) com a mesura del desenvolupament (Sen, 1981, 1985; UNDP, 1990). Defensaven que el desenvolupament havia d’anar més enllà de qüestions estrictament econòmiques i havia de tenir en compte altres aspectes fonamentals de les capacitats d’una persona com l’educació o la salut. D’aquesta nova manera de pensar el desenvolupament d’una forma més ‘humana’ en va sortir l’IDH, que va afegir dues altres dimensions a la dimensió econòmica: l’accés a l’educació i una vida llarga i saludable. En aquest apartat farem una exploració de l’índex. Aquests són els paquets d’R que farem servir:
12.1 Les dimensions de l’IDH
L’IDH, doncs, consta de tres dimensions conceptuals. La seva operacionalització es troba resumida a la Figura 12.1, que trobareu també a les notes tècniques de la web del Programa de Nacions Unides per al Desenvolupament (PNUD, conegut com a UNDP en anglès).
- Per mesurar la dimensió econòmica utilitzen la Renda Nacional Bruta (RNB, GNI en anglès), una mesura molt semblant al PIB.
- L’accés a l’educació es mesura a través de dos indicadors: la mitjana d’anys a l’escola per adults de 25 anys o més i els anys esperats d’educació per a nens en edat d’entrada a l’escola.
- Finalment, la vida llarga i saludable es mesura a través de l’esperança de vida al néixer.

Les dades que es recullen per crear l’IDH les trobareu a la pàgina web del PNUD (UNDP, 2018). Al llarg d’aquest mòdul utilitzarem les dades de 2018 que es poden descarregar en format Excel, encara que és possible que a la web del PNUD hi pogueu trobar dades més recents. En el següent codi hem descarregat l’arxiu i hem creat un objecte d’R mitjançant la funció read_xlsx() del paquet readxl. Li hem donat el nom de hddata, que podem veure a continuació amb les seves primeres observacions.
Per descarregar l’arxiu que necessites, tens dues opcions:
- Descarrega’l amb R amb la funció
download.file()i tot seguit crea l’objectehhdata.
download.file("https://www.jordimas.cat/files/2018_all_indicators.xlsx",
"2018_all_indicators.xlsx")
hddata <- read_xlsx("2018_all_indicators.xlsx")
- És possible que la funció
download.file()no funcioni en alguns ordinadors. Si és el teu cas, descarrega l’arxiu manualment i ubica’l al teu directori de treball. A continuació, només caldrà que el transformis en objectehhdata:
hddata <- read_xlsx("2018_all_indicators.xlsx")
Recorda carregar els paquets prèviament abans d’executar el codi.
# A tibble: 25,636 × 34
dimension indicator_id indicator_name iso3 country_name `1990` `1991` `1992`
<chr> <dbl> <chr> <chr> <chr> <dbl> <dbl> <dbl>
1 Composit… 146206 HDI rank AFG Afghanistan NA NA NA
2 Composit… 146206 HDI rank ALB Albania NA NA NA
3 Composit… 146206 HDI rank DZA Algeria NA NA NA
4 Composit… 146206 HDI rank AND Andorra NA NA NA
5 Composit… 146206 HDI rank AGO Angola NA NA NA
6 Composit… 146206 HDI rank ATG Antigua and… NA NA NA
7 Composit… 146206 HDI rank ARG Argentina NA NA NA
8 Composit… 146206 HDI rank ARM Armenia NA NA NA
9 Composit… 146206 HDI rank AUS Australia NA NA NA
10 Composit… 146206 HDI rank AUT Austria NA NA NA
# ℹ 25,626 more rows
# ℹ 26 more variables: `1993` <dbl>, `1994` <dbl>, `1995` <dbl>, `1996` <dbl>,
# `1997` <dbl>, `1998` <dbl>, `1999` <dbl>, `2000` <dbl>, `2001` <dbl>,
# `2002` <dbl>, `2003` <dbl>, `2004` <dbl>, `2005` <dbl>, `2006` <dbl>,
# `2007` <dbl>, `2008` <dbl>, `2009` <dbl>, `2010` <dbl>, `2011` <dbl>,
# `2012` <dbl>, `2013` <dbl>, `2014` <dbl>, `2015` <dbl>, `2016` <dbl>,
# `2017` <dbl>, `9999` <dbl>
12.2 Exploració inicial del marc de dades
El marc de dades hddata conté una columna per cada any de dades des de 1990 fins a 2017. Quan treballem amb R ens és molt més còmode que cada columna sigui una variable, ja que així podem manipular més fàcilment les dades. Com sabeu, els anys (1990, 1991…) no són una variable, sinó que són els valors que pot prendre la variable any. Tots els anys, doncs, haurien de formar part d’una sola columna year que representi la variable any. També observem que la variable indicator_name no conté valors, sinó noms de variables. En el codi següent hem netejat el marc de dades de manera que totes les columnes siguin variables i totes les files observacions. D’aquest procés n’ha sortit l’objecte hddata_tidy, que observem a continuació.
hddata_tidy <- hddata %>%
select(indicator_name:last_col()) %>% #eliminem les primeres dues columnes
pivot_longer(`1990`:`9999`, names_to = "year",
values_to = "value", values_drop_na = TRUE) %>% #creem la variable year
filter(year != 9999) %>% #eliminem el valor 9999
spread(indicator_name, value) %>% #posem els valors de 'indicator_name' com a variables
clean_names("snake") %>% #simplifiquem els noms de variables
mutate(year = as.numeric(year)) #passem els anys a vector numèrichddata_tidy
## # A tibble: 5,460 × 139
## iso3 country_name year adjusted_net_savings_percen…¹ adolescent_birth_rat…²
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 AFG Afghanistan 1990 NA 161.
## 2 AFG Afghanistan 1991 NA NA
## 3 AFG Afghanistan 1992 NA NA
## 4 AFG Afghanistan 1993 NA NA
## 5 AFG Afghanistan 1994 NA NA
## 6 AFG Afghanistan 1995 NA 164.
## 7 AFG Afghanistan 1996 NA NA
## 8 AFG Afghanistan 1997 NA NA
## 9 AFG Afghanistan 1998 NA NA
## 10 AFG Afghanistan 1999 NA NA
## # ℹ 5,450 more rows
## # ℹ abbreviated names: ¹adjusted_net_savings_percent_of_gni,
## # ²adolescent_birth_rate_births_per_1_000_women_ages_15_19
## # ℹ 134 more variables:
## # antenatal_care_coverage_at_least_one_visit_percent <dbl>,
## # carbon_dioxide_emissions_kg_per_2011_ppp_of_gdp <dbl>,
## # carbon_dioxide_emissions_per_capita_tonnes <dbl>, …Ja podeu veure que el marc de dades hddata_tidy conté moltes variables que no necessitem. Una de les primeres coses que hem de fer és simplificar-lo per tal tingui unes dimensions més reduides que ens permeti treballar-lo millor a l’hora de construir l’IDH. Per a tal propòsit, hem creat el nou marc de dades hdi, que filtra les dades per l’any més actual, manté només algunes variables i ordena els països segons el seu IDH el 2017, el darrer any de què tenim dades disponibles. Hi hem deixat dues variables principals: països (country) i IDH (IDH). I a continuació també hem conservat les variables que conformen l’IDH. A totes els hi hem donat un nom més simple:
- A l’ingrés nacional brut per càpita (
gross_national_income_gni_per_capita_2011_ppp) en diremGNI. - Als anys d’escolarització esperats (
expected_years_of_schooling_years) en diremE1. - A la mitjana d’anys d’escolarització (
mean_years_of_schooling_years) en diremE2. - I a l’esperança de vida al néixer (
life_expectancy_at_birth_years) en diremLE.
A més, hem utilitzat el paquet countrycode per posar els noms del marc de dades en català.
#canvieu hdi per hdi_prova quan feu les modificacions
#Nota: No us preocupeu pels warnings que apareixen a la consola
hdi <- hddata_tidy %>% #marc de dades
filter(year == max(year)) %>% #filtrem per l'any més alt
arrange(desc(human_development_index_hdi)) %>% #ordenem per la variable idh
transmute(P = 1:n(), #creem una variable amb la posició del país
country = countrycode(country_name, "country.name.en", "cldr.name.ca"),
IDH = human_development_index_hdi,
GNI = gross_national_income_gni_per_capita_2011_ppp,
E1 = expected_years_of_schooling_years,
E2 = mean_years_of_schooling_years,
LE = life_expectancy_at_birth_years) %>%
filter(IDH != is.na(IDH)) #eliminem les observacions amb NA
#Omplim els NA. A partir de l'1 de juny de 2018 Swazilàndia passa a dir-se Regne d'Eswatini.
hdi$country[which(is.na(hdi$country))] <- c("Micronèsia", "Regne d'Eswatini")12.3 L’IDH: vista prèvia
A la Taula 12.1 observem el resultat de head(hdi, 10), que mostra els països més ben classificats en el rànking de l’IDH l’any 2017. En primer lloc hi trobem Noruega amb un IDH de 0.953, seguit de Suïssa, Austràlia i Irlanda Tots aquests països tenen xifres molt altes en els seus indicadors: un GNI per càpita alt (columna GNI), uns anys d’educació esperada elevats (columna E1), una mitjana d’anys a l’escola elevada (columna E2) i una esperança de vida alta (columna LE).
| P | country | IDH | GNI | E1 | E2 | LE |
|---|---|---|---|---|---|---|
| 1 | Noruega | 0.953 | 68012 | 17.9 | 12.6 | 82.3 |
| 2 | Suïssa | 0.944 | 57625 | 16.2 | 13.4 | 83.5 |
| 3 | Austràlia | 0.939 | 43560 | 22.9 | 12.9 | 83.1 |
| 4 | Irlanda | 0.938 | 53754 | 19.6 | 12.5 | 81.6 |
| 5 | Alemanya | 0.936 | 46136 | 17.0 | 14.1 | 81.2 |
| 6 | Islàndia | 0.935 | 45810 | 19.3 | 12.4 | 82.9 |
| 7 | Hong Kong (RAE Xina) | 0.933 | 58420 | 16.3 | 12.0 | 84.1 |
| 8 | Suècia | 0.933 | 47766 | 17.6 | 12.4 | 82.6 |
| 9 | Singapur | 0.932 | 82503 | 16.2 | 11.5 | 83.2 |
| 10 | Països Baixos | 0.931 | 47900 | 18.0 | 12.2 | 82.0 |
En canvi, a la part inferior de la taula ens trobem el contrari, com veiem a la Taula Taula 12.2 mitjançant el codi tail(hdi, 10). Tots els països amb valors baixos en el seu IDH tenen un GNI baix, uns nivells d’eduació baixos i una esperança de vida baixa. Níger és l’últim país de la llista. Té un GNI inferior als 1000 dòlars l’any, els joves del país passen molts pocs anys a l’escola i la població viu de mitjana poc més de 60 anys.
| P | country | IDH | GNI | E1 | E2 | LE |
|---|---|---|---|---|---|---|
| 180 | Moçambic | 0.437 | 1093 | 9.7 | 3.5 | 58.9 |
| 181 | Libèria | 0.435 | 667 | 10.0 | 4.7 | 63.0 |
| 182 | Mali | 0.427 | 1953 | 7.7 | 2.3 | 58.5 |
| 183 | Burkina Faso | 0.423 | 1650 | 8.5 | 1.5 | 60.8 |
| 184 | Sierra Leone | 0.419 | 1240 | 9.8 | 3.5 | 52.2 |
| 185 | Burundi | 0.417 | 702 | 11.7 | 3.0 | 57.9 |
| 186 | Txad | 0.404 | 1750 | 8.0 | 2.3 | 53.2 |
| 187 | Sudan del Sud | 0.388 | 963 | 4.9 | 4.8 | 57.3 |
| 188 | República Centreafricana | 0.367 | 663 | 7.2 | 4.3 | 52.9 |
| 189 | Níger | 0.354 | 906 | 5.4 | 2.0 | 60.4 |