2. Exploració

Els continguts d’aquesta obra formen part d’un encàrrec d’autoria de la Universitat Oberta de Catalunya (Mas 2020) i estan subjectes a la llicència de Creative Commons CC BY-SA 3.0.

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:

#recordeu que els paquets han d'estar prèviament instal·lats
library(dplyr)
library(tidyr)
library(ggplot2)
library(countrycode)
library(readxl)
library(janitor)

Les dimensions de l’IDH

L’IDH, doncs, consta de tres dimensions conceptuals. La seva operacionalització es troba resumida a la Figura 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.
Metodologia de l'IDH

Figure 1: Metodologia de l’IDH

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 la Taula 1 amb les seves primeres observacions.

download.file("http://hdr.undp.org/sites/default/files/2018_all_indicators.xlsx", 
              "2018_all_indicators.xlsx")
hddata <- read_xlsx("2018_all_indicators.xlsx")
Table 1: Primeres observacions del marc de dades ‘hddata’
dimensionindicator_idindicator_nameiso3country_name19901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620179999
Composite indices146206HDI rankAFGAfghanistanNANANANANANANANANANANANANANANANANANANANANANANANANANA168168NA
Composite indices146206HDI rankALBAlbaniaNANANANANANANANANANANANANANANANANANANANANANANANANANA6968NA
Composite indices146206HDI rankDZAAlgeriaNANANANANANANANANANANANANANANANANANANANANANANANANANA8385NA
Composite indices146206HDI rankANDAndorraNANANANANANANANANANANANANANANANANANANANANANANANANANA3535NA
Composite indices146206HDI rankAGOAngolaNANANANANANANANANANANANANANANANANANANANANANANANANANA145147NA
Composite indices146206HDI rankATGAntigua and BarbudaNANANANANANANANANANANANANANANANANANANANANANANANANANA7070NA
Composite indices146206HDI rankARGArgentinaNANANANANANANANANANANANANANANANANANANANANANANANANANA4747NA
Composite indices146206HDI rankARMArmeniaNANANANANANANANANANANANANANANANANANANANANANANANANANA8483NA

Exercici 4. Notes tècniques de l’IDH: Consulta les notes tècniques de l’IDH i fes una primera visualització del marc de dades teclejant View(hddata). Respon a les següents preguntes:

  1. Quants índexs ha creat el PNUD, a part de l’IDH? Quins són els quatre conceptes/temes principals que pretenen mesurar? Relaciona aquests temes/conceptes amb el moment que sorgeixen: ens expliquen alguna cosa dels debats centrals de cada època en l’agenda internacional?
  2. Quina és la principal distinció entre l’IDH i l’Índex de Desenvolupament de Gènere?
  3. Utilitza glimpse(hddata) per esbrinar quantes observacions i quantes variables té el marc de dades hddata.
  4. Diries que, segons els criteris de Wickham (2014), hddata és una taula neta o una taula bruta? Per què?
  5. Interpreta les dades perdudes (NA) que observes a la taula.

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 la Taula 2.

hddata_tidy <- hddata %>%
  select(indicator_name:last_col()) %>% #eliminem les primeres dues columnes
  pivot_longer(`1990`:`9999`, "year", "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èric
Table 2: Primeres observacions del marc de dades ‘hddata_tidy’
iso3country_nameyearadjusted_net_savings_percent_of_gniadolescent_birth_rate_births_per_1_000_women_ages_15_19antenatal_care_coverage_at_least_one_visit_percentcarbon_dioxide_emissions_kg_per_2011_ppp_of_gdpcarbon_dioxide_emissions_per_capita_tonnescoefficient_of_human_inequalityconcentration_index_exports_valuecontraceptive_prevalence_any_method_percent_of_married_or_in_union_women_of_reproductive_age_15_49_yearscurrent_health_expenditure_percent_of_gdpdomestic_credit_provided_by_financial_sector_percent_of_gdpeducation_indexemployment_in_agriculture_percent_of_total_employmentemployment_in_services_percent_of_total_employmentemployment_to_population_ratio_percent_ages_15_and_olderestimated_gross_national_income_per_capita_female_2011_pppestimated_gross_national_income_per_capita_male_2011_pppexpected_years_of_schooling_yearsexpected_years_of_schooling_female_yearsexpected_years_of_schooling_male_yearsexports_and_imports_percent_of_gdpfemale_share_of_employment_in_senior_and_middle_management_percentforeign_direct_investment_net_inflows_percent_of_gdpforest_area_percent_of_total_land_areafossil_fuel_energy_consumption_percent_of_total_energy_consumptionfresh_water_withdrawals_percent_of_total_renewable_water_resourcesgdp_per_capita_2011_pppgender_development_index_gdigender_inequality_index_giigovernment_expenditure_on_education_percent_of_gdpgross_capital_formation_percent_of_gdpgross_domestic_product_gdp_total_2011_ppp_billionsgross_enrolment_ratio_pre_primary_percent_of_preschool_age_childrengross_enrolment_ratio_primary_percent_of_primary_school_age_populationgross_enrolment_ratio_secondary_percent_of_secondary_school_age_populationgross_enrolment_ratio_tertiary_percent_of_tertiary_school_age_populationgross_fixed_capital_formation_percent_of_gdpgross_national_income_gni_per_capita_2011_ppphdi_rankhiv_prevalence_adult_percent_ages_15_49homicide_rate_per_100_000_peoplehuman_development_index_hdihuman_development_index_hdi_femalehuman_development_index_hdi_maleincome_indexinequality_in_education_percentinequality_in_income_percentinequality_in_life_expectancy_percentinequality_adjusted_education_indexinequality_adjusted_hdi_ihdiinequality_adjusted_income_indexinequality_adjusted_life_expectancy_indexinfants_lacking_immunization_dpt_percent_of_one_year_oldsinfants_lacking_immunization_measles_percent_of_one_year_oldsinternational_inbound_tourists_thousandsinternational_student_mobility_percent_of_total_tertiary_enrolmentinternet_users_total_percent_of_populationlabour_force_participation_rate_percent_ages_15_and_olderlabour_force_participation_rate_percent_ages_15_and_older_femalelabour_force_participation_rate_percent_ages_15_and_older_malelife_expectancy_at_birth_yearslife_expectancy_at_birth_female_yearslife_expectancy_at_birth_male_yearslife_expectancy_indexliteracy_rate_adult_percent_ages_15_and_oldermalaria_incidence_per_1_000_people_at_riskmandatory_paid_maternity_leave_daysmaternal_mortality_ratio_deaths_per_100_000_live_birthsmean_years_of_schooling_yearsmean_years_of_schooling_female_yearsmean_years_of_schooling_male_yearsmedian_age_yearsmobile_phone_subscriptions_per_100_peoplemortality_rate_attributed_to_household_and_ambient_air_pollution_per_100_000_populationmortality_rate_attributed_to_unsafe_water_sanitation_and_hygiene_services_per_100_000_populationmortality_rate_female_adult_per_1_000_peoplemortality_rate_infant_per_1_000_live_birthsmortality_rate_male_adult_per_1_000_peoplemortality_rate_under_five_per_1_000_live_birthsmpi_2018_contribution_of_educationmpi_2018_contribution_of_healthmpi_2018_contribution_of_standard_of_livingmultidimensional_poverty_index_mpinet_migration_rate_per_1_000_peoplenet_official_development_assistance_received_percent_of_gniold_age_65_and_older_dependency_ratio_per_100_people_ages_15_64overall_loss_in_hdi_due_to_inequality_percentpopulation_ages_15_64_millionspopulation_ages_65_and_older_millionspopulation_in_multidimensional_poverty_headcount_percentpopulation_in_multidimensional_poverty_headcount_thousands_for_the_year_of_the_surveypopulation_in_multidimensional_poverty_headcount_thousands_projection_for_2016population_in_multidimensional_poverty_intensity_of_deprivation_percentpopulation_in_severe_multidimensional_poverty_percentpopulation_under_age_5_millionspopulation_using_improved_drinking_water_sources_percentpopulation_using_improved_sanitation_facilities_percentpopulation_vulnerable_to_multidimensional_poverty_percentpopulation_with_at_least_some_secondary_education_percent_ages_25_and_olderpopulation_with_at_least_some_secondary_education_female_percent_ages_25_and_olderpopulation_with_at_least_some_secondary_education_male_percent_ages_25_and_olderprimary_school_dropout_rate_percent_of_primary_school_cohortprimary_school_teachers_trained_to_teach_percentprivate_capital_flows_percent_of_gdpprogramme_for_international_student_assessment_pisa_score_in_mathematicsprogramme_for_international_student_assessment_pisa_score_in_readingprogramme_for_international_student_assessment_pisa_score_in_scienceproportion_of_births_attended_by_skilled_health_personnel_percentpupil_teacher_ratio_primary_school_pupils_per_teacherratio_of_education_and_health_expenditure_to_military_expenditurered_list_index_valuerefugees_by_country_of_origin_thousandsremittances_inflows_percent_of_gdprenewable_energy_consumption_percent_of_total_final_energy_consumptionresearch_and_development_expenditure_percent_of_gdprural_population_with_access_to_electricity_percentsex_ratio_at_birth_male_to_female_birthsshare_of_employment_in_nonagriculture_female_percent_of_total_employment_in_nonagricultureshare_of_seats_in_parliament_percent_held_by_womenskilled_labour_force_percent_of_labour_forcesuicide_rate_female_per_100_000_peoplesuicide_rate_male_per_100_000_peoplesurvival_rate_to_the_last_grade_of_lower_secondary_general_education_percenttotal_debt_service_percent_of_exports_of_goods_services_and_primary_incometotal_population_millionstotal_unemployment_rate_female_to_male_ratiotuberculosis_incidence_per_100_000_peopleunemployment_total_percent_of_labour_forceunemployment_youth_percent_ages_15_24unmet_need_for_family_planning_percent_of_married_or_in_union_women_of_reproductive_age_15_49_yearsurban_population_percentvulnerable_employment_percent_of_total_employmentwomen_with_account_at_financial_institution_or_with_mobile_money_service_provider_percent_of_female_population_ages_15_and_olderworking_poor_at_ppp_3_10_a_day_percent_of_total_employmentyoung_age_0_14_dependency_ratio_per_100_people_ages_15_64youth_not_in_school_or_employment_percent_ages_15_24youth_unemployment_rate_female_to_male_ratio
AFGAfghanistan1990NA161.2NANA0.2NANANANANA0.122NANANANANA2.6NANANANANA2.1NANANANANANANANANA30112NANANA0.1NANANANANANANANANANANANA5080NANANA51.414.886.749.950.948.90.459NANANA13401.50.42.515.9NANANA348120.2396177.3NANANANA-24.7NA4.4NA6.10.3NANANANANA2.4NANANA8.22.313.6NANANANANANANA41NANANANA15.9NANA1.06NANANANANANANA12.2NANANANANA21.2NANANA96.6NANA
AFGAfghanistan1991NANANANANANANANANANA0.13371.322.245.3NANA2.9NANANANANANANANANANANANANANANANANANANANANA0.1NANANANANANANANANANANANA5381NANANANANANA50.651.749.60.471NANANANA1.60.52.6NANANANA340116.4387171.1NANANANANANA4.5NA6.50.3NANANANANA2.5NANANANA2.514.0NANANANANANANANANANANANANANANANA9.3NANANANANANA13.01.26NA12.025.6NA21.362.0NA98.996.5NA1.01
AFGAfghanistan1992NANANANANANANANANANA0.145NANANANANA3.2NANANANANANANANANANANANANANANANANANANANANA0.1NANANANANANANANANANANANA5578NANANANANANA51.352.450.30.482NANANANA1.60.52.8NANANANA331112.9379165.2NANANANANANA4.5NA7.00.3NANANANANA2.7NANANANA2.814.4NANANANANANANANANANANANANANANANANANANANANANANA14.0NANANANANA21.4NANANA96.4NANA
AFGAfghanistan1993NANANANANANANANANANA0.156NANANANANA3.6NANANANANANANANANANANANANANANANANANANANANA0.1NANANANANANANANANANANANA5975NANANANANANA52.053.150.90.492NANANANA1.70.52.9NANANANA326109.5373159.6NANANANANANA4.5NA7.50.3NANANANANA2.9NANANANA3.014.9NANANANANANANANANA0.841NANANANANANANANANANANANANA15.1NANANANANA21.4NANANA96.4NANA
AFGAfghanistan1994NANANANANANANANANANA0.168NANANANANA3.9NANANANANANANANANANANANANANANANANANANANANA0.1NANANANANANANANANANANANA6760NANANANANANA52.553.651.50.501NANANANA1.80.63.1NANANANA321106.3368154.5NANANANANANA4.6NA8.10.4NANANANANA3.2NANANANA3.215.3NANANANANANANANANANANANANANANANANANANANANANANA16.2NANANANANA21.5NANANA96.3NANA
AFGAfghanistan1995NA163.9NANA0.1NA0.34NANANA0.17978.717.247.4NANA4.2NANANANANA2.1NANANANANANANANANA4522NANANANA0.1NANANANANANANANANANANANA5659NANANA51.915.086.453.154.252.00.509NANANA12701.90.63.216.0NANANA316103.3363149.6NANANANA31.7NA4.7NA8.50.4NANANANANA3.3NANANA9.83.515.7NANANANANANANANANA0.840NANA35.1NANA1.067.0NANANANANANA17.12.04NA8.717.8NA21.673.7NA99.295.8NA1.11
AFGAfghanistan1996NANANANANANANANANANA0.190NANANANANA4.6NANANANANANANANANANANANANANANANANANANANANA0.1NANANANANANANANANANANANA4458NANANANANANA53.554.752.50.516NANANANA1.90.63.3NANANANA310100.5358145.1NANANANANANA4.7NA8.90.4NANANANANA3.5NANANANA3.715.9NANANANANANANANANANANANANANANANANANANANANANANA17.8NANANANANA21.7NANANA96.6NANA
AFGAfghanistan1997NANANANANANANANANANA0.202NANANANANA4.9NANANANANANANANANANANANANANANANANANANANANA0.1NANANANANANANANANANANANA5262NANANANANANA54.055.252.90.523NANANANA2.00.73.4NANANANA30597.9352141.0NANANANANANA4.7NA9.10.4NANANANANA3.6NANANANA3.916.2NANANANANANANANANANANANANANANANANANANANANANANA18.4NANANANANA21.8NANANA97.4NANA

Exercici 5. Exploració inicial: Examineu el marc de dades teclejant hddata_tidy i visualitzeu-ne l’estructura amb glimpse(hddata_tidy).

  1. Quantes variables i quantes observacions conté el marc de dades?
  2. Quina és la unitat d’anàlisi? Sigues tant específic com puguis a l’hora de descriure-la.
  3. Visualitzeu la llista de variables amb la funció names(hddata_tidy). Sabríeu intuir quines d’aquestes variables conformen l’IDH?
  4. Observeu la resta de variables. Proposeu-ne tres més que creieu que també puguin il·lustrar el concepte de desenvolupament humà i justifiqueu l’elecció.
  5. De quins països tenim més dades perdudes? Utilitza el següent codi per esbrinar-ho.
hddata %>%
  pivot_longer(`1990`:`9999`, "year", "value") %>%
  group_by(country_name) %>% #agrupem les dades per país
  summarize(na = sum(is.na(value))) %>%
  arrange(desc(na))
  1. De quins indicadors tenim més dades perdudes? Utilitza el següent codi per esbrinar-ho.
hddata %>%
  pivot_longer(`1990`:`9999`, "year", "value") %>%
  group_by(indicator_name) %>% #agrupem les dades per indicador
  summarize(na = sum(is.na(value))) %>%
  arrange(desc(na))
  1. Com creus que podrien influir les dades que tenim disponibles en la selecció d’indicadors per construir una mesura com l’IDH?

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 direm GNI.
  • Als anys d’escolarització esperats (expected_years_of_schooling_years) en direm E1.
  • A la mitjana d’anys d’escolarització (mean_years_of_schooling_years) en direm E2.
  • I a l’esperança de vida al néixer (life_expectancy_at_birth_years) en direm LE.

A més, hem utilitzat el paquet countrycode per posar els noms del marc de dades en català (veure Normes ISO).

#canvieu hdi per hdi_prova quan feu les modificacions
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")

Exercici 6. Crear un nou marc de dades: Fixeu-vos en el codi que hem utilitzat per crear l’objecte hdi i proveu de fer-hi algunes modificacions. Abans de tot, substituiu al codi hdi per hdi_prova per guardar els canvis amb el nom d’un altre objecte.

  1. Filtreu per algun altre any enlloc de 2017. Caldrà substituir max(year) per l’any en qüestió.
  2. Si voleu, ordeneu les dades per alguna altra columna que no sigui de la columna IDH dins de la funció arrange().
  3. Conserveu la variable country i seleccioneu variables diferents a les que hem escollit, indicant un nom nou per a cada una d’elles.

L’IDH: vista prèvia

A la Taula 3 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).

Table 3: Primers 10 llocs del rànquing de l’IDH el 2017
PcountryIDHGNIE1E2LE
1Noruega0.9536801217.912.682.3
2Suïssa0.9445762516.213.483.5
3Austràlia0.9394356022.912.983.1
4Irlanda0.9385375419.612.581.6
5Alemanya0.9364613617.014.181.2
6Islàndia0.9354581019.312.482.9
7Hong Kong (RAE Xina)0.9335842016.312.084.1
8Suècia0.9334776617.612.482.6
9Singapur0.9328250316.211.583.2
10Països Baixos0.9314790018.012.282.0

En canvi, a la part inferior de la taula ens trobem el contrari, com veiem a la Taula 4 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.

Table 4: Darrers 10 llocs del rànquing de l’IDH el 2017
PcountryIDHGNIE1E2LE
180Moçambic0.43710939.73.558.9
181Libèria0.43566710.04.763.0
182Mali0.42719537.72.358.5
183Burkina Faso0.42316508.51.560.8
184Sierra Leone0.41912409.83.552.2
185Burundi0.41770211.73.057.9
186Txad0.40417508.02.353.2
187Sudan del Sud0.3889634.94.857.3
188República Centreafricana0.3676637.24.352.9
189Níger0.3549065.42.060.4

Exercici 7. Cerca de països: Visualitzeu el principi de la taula amb head(), el final de la taula amb tail() o qualsevol fragment de la taula amb la funció slice(). Per exemple, teclejant slice(hdi, 30:40) visualitzarem de la trentena a la quarantena observació del rànquing. Responeu a les següents preguntes:

  1. Quin és el país amb major esperança de vida?
  2. Quin és el país amb menor mitjana d’anys d’escolarització?
  3. Quin és el país amb l’ingrés nacional brut per càpita més baix?
  4. Busca la posició d’Espanya, Japó i Palestina. També ho pots buscar amb:
hdi[which(hdi$country == "Nom del país"),]
  1. Observa la distribució de l’esperança de vida amb un histograma mitjançant hist(hdi$LE). En quina franja hi ha més països? Fes el mateix amb el GNI. En quina franja d’ingressos es troben més països?

Referències

Mas, Jordi. 2020. Les mesures compostes.” Barcelona: FUOC.
Sen, Amartya. 1981. Public Action and the Quality of Life in Developing Countries.” Oxford Bulletin of Economics and Statistics 43 (4): 287–319.
———. 1985. Commodities and Capabilities. Amsterdam: North Holland.
UNDP. 1990. Human Development Report.” New York: United Nations Development Programme.
———. 2018. Human Development Report.” New York: United Nations Development Programme.
Wickham, Hadley. 2014. Tidy Data.” Journal of Statistical Software 50 (10): 1–23.
Previous
Next