El elefante de Milanovic

Branko Milanovic y Simon Kuznets son dos de los académicos más conocidos en los estudios sobre desigualdad. A cada uno de ellos se le conoce por identificar una determinada trayectoria de la desigualdad en un periodo de tiempo determinado:

  • El elefante de Milanovic: La diferencia en porcentaje de ganancia entre la distribución por nivel de ingresos en 2008 y 1988, tiene forma de elefante.
  • La curva de Kuznets A medida que la riqueza de un país crece con el proceso de industrialización, en una primera fase las desigualdades crecen y en una segunda fase decrecen, por lo que la relación entre crecimiento económico y desigualdades tiene forma de U invertida.

En esta práctica observaremos las trayectorias descritas en lo que se conoce como el Elefante de Milanovic, que es la forma que describe la evolución de la desigualdad mundial entre los períodos 1988 y 2008. Esta curva, descrita por Branko Milanovic y Christoph Laekner, indica la diferencia en porcentaje de ganancia entre la distribución por nivel de ingresos en 1988 y 20081. En primer lugar, cargaremos los paquetes que necesitamos.

#recordad que los paquetes deben estar previamente instalados
library(tidyr)
library(dplyr)
library(ggplot2)

El elefante de Milanovic

El elefante de Milanovic es una visualización reciente que describe cómo ha evolucionado la desigualdad mundial en las últimas décadas. Los ejercicios de este apartado deben complementarse con el capítulo 1 del libro Global Inequality (Milanovic 2016). Para reproducir una curva similar a la del elefante, en primer lugar debemos descargar la base de datos All Ginis y observar su contenido. En la Tabla 1 podéis consultar las primeras observaciones del marco de datos all_ginis.

download.file("https://www.gc.cuny.edu/getmedia/514d5ba9-74ed-4007-a3fe-02b079705c91/LM_WPID_web_2",
              "all_ginis.dta")

#descarga con el paquete foreign
library(foreign) #será necesario instalar el paquete foreign
all_ginis <- as_tibble(read.dta("all_ginis.dta"))

#descarga con el paquete haven
library(haven) #será necesario instalar el paquete haven
all_ginis <- read_dta("all_ginis.dta")

DESCARGA: Si no os funciona el código de descarga, descargad el archivo .dta manualmente, ubicadlo en vuestro directorio de trabajo y cambiadle el nombre por all_ginis.dta. A continuación, utilizad la versión foreign o haven para convertir el archivo en objeto de R.

Table 1: All ginis dataset
contcodcountryregionyearinc_consourcemysamplebin_yeargrouppopRRincRRmeancons_2005ppp_pcgdp_2005ppp_pctotpopDno_chinaventile_nRRmean_ventile_npop_ventile_nnvals
BGDBangladeshOther Asia1988Cpovcal11988110.0062320185444637.7204723.0073100.06232011188.2125158.2661
IND-UIndiaIndia1987Cpovcal11988120.9592464210611NANA209.59246411188.2125158.2660
UZBUzbekistanRussia, C. Asia, SE Europe1988Iwyd1198811.9561180203402NA2004.307419.56118011188.2125158.2660
UGAUgandaSub-Saharan Africa1989Cpovcal1198821.6482365133441394.4634547.359116.48236511188.2125158.2660
MRTMauritaniaSub-Saharan Africa1987Cpovcal1198820.18923282057321392.17921822.79521.89232811188.2125158.2660
PAKPakistanOther Asia1987Cpovcal11988110.53324641654531038.43991505.3386105.33246411188.2125158.2660
HNDHondurasL. America & Carib.1989Ipovcal1198820.461824519611421717.33282731.61964.61824511188.2125158.2660
GHAGhanaSub-Saharan Africa1988Cpovcal1198811.4010951166578598.9019882.044714.01095111188.2125158.2660
UGAUgandaSub-Saharan Africa1989Cpovcal1198831.6482365180441394.4634547.359116.48236511188.2125158.2660
HNDHondurasL. America & Carib.1989Ipovcal1198810.461824511911421717.33282731.61964.61824511188.2125158.2660

Ejercicio 1: Haz una exploración general del marco de datos y sus variables. Ayúdate del libro de códigos de la base de datos que encontrarás en All Gini Dataset:

  • Para consultar el marco de datos sólo tienes que teclear su nombre (all_ginis). Te será muy útil la función glimpse(all_ginis).
  • Para consultar una variable puedes teclear el nombre del marco de datos, seguido de $ y el nombre de la variable (all_ginis$nombre_variable) o bien aplicar la función que necesites a la variable. Por ejemplo: funcion (all_ginis$nombre_variable).

Responde a las siguientes preguntas:

  1. De acuerdo con lo que has aprendido a Normas ISO, ¿cuál(es) variable(s) podríamos utilizar para unir los datos de All Ginis con las de otro marco de datos?
  2. Para realizar su estudio, los autores Lakner y Milanovic agruparon los datos de desigualdad en unos pocos años, agrupados en la variable bin_year. ¿Cuáles son estos años? Usa unique() para saberlo. Averigua la diferencia entre year y bin_year.
  3. ¿Cómo justifica Milanovic en su libro que es relevante observar la evolución de la desigualdad global en el período 1988 y 2008?
  4. Con unique() también puedes saber qué valores puede tomar la variable inc_con. ¿Qué significan estos valores? ¿Qué implicación tiene para conocer las desigualdades de un país saber si los datos toman un valor u otro?
  5. Busca qué variable indica la fuente con la que se han obtenido los datos. ¿Cuántas fuentes secundarias diferentes hay? Encontrarás una descripción de estas fuentes en el libro de códigos. ¿Cuál es la principal fuente de información primaria que utilizan? Comenta los aspectos positivos y negativos de obtener datos de desigualdad a partir de este tipo de fuente primaria que se utiliza.
  6. Identifica el significado de las variables pop, totpop, RRinc, RRmean y ventile_n.

Una vez ya hemos conocido más a fondo los datos con los que trabajar ya podemos generar el elefante que encontramos representado en la Figura 1. Veréis que es un gráfico muy parecido al que describe Milanovic en su libro2.

all_ginis %>%
  filter(bin_year %in% c(1988, 2008), #filtramos solamente los años 1988 y 2008
         !is.na(RRinc)) %>% #eliminamos NA
  group_by(ventile_n, bin_year, RRmean_ventile_n) %>% #arupamos por ventil, año e ingreso real
  summarize() %>% #simplificamos el marco de datos
  spread(bin_year, RRmean_ventile_n) %>% #ponemos un año en cada columna
  mutate(diff = (`2008` - `1988`) / `1988`) %>% #creamos una nueva columna con la diferencia de ingreso real entre 1988 y 2008
  ggplot(aes(x = ventile_n, y = diff)) +
  geom_line() + 
  scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
  labs(x = "Income group (ventile)", y = "Real income growth (%)") +
  theme_bw()
L'Elefant de Milanovic (1988 - 2008)

Figure 1: L’Elefant de Milanovic (1988 - 2008)

Ejercicio 2: A partir de lo que describe Milanovic en las primeras páginas de Global Inequality (Milanovic 2016) y de lo que observas en el gráfico de la Figura 1, haz los siguientes ejercicios:

  1. Describe lo que observas el gráfico: ¿Qué nos enseña? ¿Qué nos indica el eje de las x? ¿Y el eje de las y?
  2. Interpreta lo que observas en el primer, quinto, decimoquinto y vigésimo ventil del gráfico.
  3. ¿Qué significa el ingreso real? ¿Qué nos permite calcular que no nos permite el ingreso nominal?

La desigualdad dentro de los países

Una vez ya conocemos la evolución de la desigualdad global, podemos centrarnos en observar más de cerca la evolución de la desigualdad en un país determinado. Podéis consultar la lista de países que tenemos en la base de datos con unique(all_ginis$country).

##   [1] "Bangladesh"               "India"                   
##   [3] "Uzbekistan"               "Uganda"                  
##   [5] "Mauritania"               "Pakistan"                
##   [7] "Honduras"                 "Ghana"                   
##   [9] "Guatemala"                "Nigeria"                 
##  [11] "Lesotho"                  "Costa Rica"              
##  [13] "Brazil"                   "Indonesia"               
##  [15] "El Salvador"              "Gambia, The"             
##  [17] "Central African Republic" "Burundi"                 
##  [19] "Madagascar"               "Swaziland"               
##  [21] "Angola"                   "Burkina Faso"            
##  [23] "Nicaragua"                "Kyrgyz Republic"         
##  [25] "Peru"                     "Mali"                    
##  [27] "Niger"                    "Zambia"                  
##  [29] "Guinea-Bissau"            "Comoros"                 
##  [31] "Botswana"                 "Panama"                  
##  [33] "Zimbabwe"                 "Senegal"                 
##  [35] "Ecuador"                  "Guinea"                  
##  [37] "Namibia"                  "Vietnam"                 
##  [39] "Ethiopia"                 "Kenya"                   
##  [41] "Lao PDR"                  "Malawi"                  
##  [43] "Mozambique"               "Tajikistan"              
##  [45] "Cambodia"                 "South Africa"            
##  [47] "Rwanda"                   "Nepal"                   
##  [49] "Colombia"                 "Venezuela, RB"           
##  [51] "Papua New Guinea"         "Maldives"                
##  [53] "Paraguay"                 "Mexico"                  
##  [55] "Moldova"                  "Micronesia, Fed. Sts."   
##  [57] "Bolivia"                  "Congo, Dem. Rep."        
##  [59] "Benin"                    "Tanzania"                
##  [61] "Sierra Leone"             "Fiji"                    
##  [63] "Congo, Rep."              "Chad"                    
##  [65] "Haiti"                    "Cote d'Ivoire"           
##  [67] "Timor-Leste"              "Liberia"                 
##  [69] "Togo"                     "Yemen, Rep."             
##  [71] "Dominican Republic"       "Philippines"             
##  [73] "Belize"                   "New Zealand"             
##  [75] "St. Lucia"                "Suriname"                
##  [77] "Sao Tome and Principe"    "Turkmenistan"            
##  [79] "Guyana"                   "Cameroon"                
##  [81] "Cape Verde"               "Argentina"               
##  [83] "Djibouti"                 "Georgia"                 
##  [85] "Bhutan"                   "Sudan"                   
##  [87] "Azerbaijan"               "Sri Lanka"               
##  [89] "Armenia"                  "Mongolia"                
##  [91] "Thailand"                 "Chile"                   
##  [93] "Algeria"                  "Tunisia"                 
##  [95] "Jamaica"                  "Morocco"                 
##  [97] "Kazakhstan"               "Gabon"                   
##  [99] "Iraq"                     "Romania"                 
## [101] "Egypt, Arab Rep."         "Lithuania"               
## [103] "Trinidad and Tobago"      "Poland"                  
## [105] "Iran, Islamic Rep."       "Jordan"                  
## [107] "Turkey"                   "Russian Federation"      
## [109] "Malaysia"                 "Syrian Arab Republic"    
## [111] "Kosovo"                   "Ukraine"                 
## [113] "Albania"                  "Belarus"                 
## [115] "Latvia"                   "Macedonia, FYR"          
## [117] "Uruguay"                  "Estonia"                 
## [119] "Bulgaria"                 "Seychelles"              
## [121] "Hungary"                  "Ireland"                 
## [123] "Montenegro"               "Serbia"                  
## [125] "West Bank and Gaza"       "Israel"                  
## [127] "United Kingdom"           "Portugal"                
## [129] "Slovak Republic"          "Bosnia and Herzegovina"  
## [131] "Cyprus"                   "United States"           
## [133] "Italy"                    "France"                  
## [135] "Greece"                   "Korea, Rep."             
## [137] "Netherlands"              "Spain"                   
## [139] "Australia"                "Singapore"               
## [141] "Slovenia"                 "Belgium"                 
## [143] "Czech Republic"           "Canada"                  
## [145] "Hong Kong SAR, China"     "Croatia"                 
## [147] "Japan"                    "Finland"                 
## [149] "Germany"                  "Denmark"                 
## [151] "Switzerland"              "Taiwan"                  
## [153] "Austria"                  "Sweden"                  
## [155] "Barbados"                 "Norway"                  
## [157] "Iceland"                  "Luxembourg"              
## [159] "China"

En este apartado nos centraremos en el caso de un estado concreto, España, y trataremos de responder a estas dos preguntas:

Para poder responder a estas preguntas tendremos que preparar un marco de datos a partir de la base de datos All Gini que incluya sólo las observaciones del país que queremos analizar. Debemos tener en cuenta que hasta ahora hemos visto la distribución mundial de la renta en ventiles (cada grupo es una veinteava parte de la población total), pero que la distribución por países se encuentra agrupada en deciles (se divide la población en diez grupos iguales). Hemos seguido el siguiente procedimiento que ha dado como resultado la Tabla 2:

  • Hemos filtrado los datos de all_ginis por el país que nos interesa y por los años 1988 y 2008. De ahí haya salido el marco de datos gini_spain.
  • Hemos creado las columnas RRinc_cum y RRmean_cum. Estas dos columnas nos servirán para calcular más adelante el Índice de Gini.
gini_spain <- all_ginis %>%
  filter(country == "Spain", #seleccionamos el país
         bin_year %in% c(1988, 2008)) %>% #seleccionamos los dos años de interés
  select(bin_year, group, RRinc, RRmean) %>%
  arrange(bin_year, RRinc) %>%
  group_by(bin_year) %>%
  mutate(RRinc_cum = cumsum(RRinc),
         RRmean_cum = cumsum(RRmean))
Table 2: Ingreso real en España (1988 - 2008)
bin_yeargroupRRincRRmeanRRinc_cumRRmean_cum
198811989703019897030
1988233207030530914060
1988340907030939921090
19884476870301416728120
19885553470301970135150
19886638270302608342180
19887734070303342349210
19888856670304198956240
198891058670305257563270
1988101772370307029870300
20081296610725296610725
20082507810725804421450
200836442107251448632175
200847638107252212442900
200858816107253094053625
2008610130107254107064350
2008711642107255271275075
2008813458107256617085800
2008916225107258239596525
2008102485710725107252107250

Ejercicio 3: Examina la Tabla 2 y responde a las siguientes preguntas:

  1. ¿Cuánto ganaba un ciudadano del estado español, de media, en 1988?
  2. ¿Cuál era la mediana de ingresos en España en 1988?
  3. Si sabemos el valor que toma la media y la mediana, podemos intuir qué forma toma la distribución. ¿Será una distribución positiva o negativa? ¿Esto significa que la mayor parte de la población tiene unos ingresos inferiores o superiores a la media?
  4. Explica, a partir de los datos de la tabla, el significado de las columnas RRinc_cum yRRmean_cum.

Cambio de la distribución de la renta en un país

Para saber cómo ha cambiado la distribución de la renta en España de 1988 a 2008 tenemos que hacer una operación muy parecida a la que hemos realizado para crear el elefante. En el caso anterior, sin embargo, hemos querido visualizar la distribución de la renta mundial y ahora observaremos un caso en concreto.

gini_spain %>%
  select(group, bin_year, RRinc) %>%
  spread(bin_year, RRinc) %>%
  mutate(diff = (`2008` - `1988`) / `1988`) %>%
  ggplot(aes(x = group, y = diff)) +
  geom_line() + 
  scale_x_continuous(breaks = 1:10) +
  scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
  labs(x = "Income group (decile)", y = "Real income growth (%)") +
  theme_bw() +
  theme(panel.grid.minor.x = element_blank())
Evolució de la distribució de la renda a Espanya (1988-2008)

Figure 2: Evolució de la distribució de la renda a Espanya (1988-2008)

Ejercicio 4: Observa la Figura 2 y el código utilizado para reproducirla y realiza las actividades siguientes:

  1. ¿Cómo ha evolucionado la renta en España entre 1988 y 2008? Haz una descripción del gráfico.
  2. La renta real del decil más alto ha aumentado relativamente menos que el resto de deciles. ¿Significa esto que las desigualdades han disminuido en España?
  3. ¿Qué limitaciones tienen los gráficos que representan los datos por deciles? ¿Podemos saber la variación en el ingreso real de las rentas más altas? (Por ejemplo, el Top 1%)
  4. Elige un periodo y otro país a partir de los datos disponibles y modifica el código para obtener una tabla y un gráfico con la evolución de la desigualdad de ingresos. Busca un país donde el cambio en la desigualdad de ingresos para el período seleccionado te llame la atención. Explica el motivo y comenta la tabla y el gráfico resultante.

Cambio en términos del Índice de Gini

La segunda pregunta que nos hacíamos anteriormente es como había cambiado la desigualdad medida en términos del índice de Gini. Hay varias formas numéricas de calcular las desigualdades en una población. El índice de Gini es una de ellas. En este curso sólo os pedimos saber que un índice de Gini cercano a 1 significa mucha desigualdad mientras que un índice cercano a 0 significa poca desigualdad, pero si quieres saber cómo se calcula tiene este tutorial para hacer el cálculo en Excel.

Fuente: Youtube

El índice de Gini se calcula a partir de la curva de Lorenz, que aparecen en la siguiente Figura 3. Para crear la figura hemos utilizado las columnas RRinc_cum y RRmean_cum, que hemos creado anteriormente y que en un ejercicio os pedíamos que revisase su significado. El gráfico está creado a partir de estas dos variables.

  • La línea azul representa RRinc_cum.
  • La línea naranja representa RRmean_cum.
  • El índice de Gini es la proporción que ocupa el área entre la línea azul y la línea naranja (área A) respecto toda el área del triángulo inferior derecho del gráfico (área A + B).
zeros <- tribble(~bin_year, ~group, ~RRinc, ~RRmean, ~RRinc_cum, ~RRmean_cum,
                 1988,0,0,0,0,0,
                 2008,0,0,0,0,0)
gini_spain %>%
  bind_rows(zeros) %>% #añadimos el grupo 0 de cada año
  ggplot(aes(x = group)) +
  geom_line(aes(y = RRinc_cum), col = "blue", lty = 2, size = 1) +
  geom_line(aes(y = RRmean_cum), col = "orange", size = 1) +
  scale_x_continuous(breaks = 0:10) +
  facet_wrap(~bin_year, scales = "free")
Curva de Lorenz en España (1988, 2008)

Figure 3: Curva de Lorenz en España (1988, 2008)

Ejercicio 5: En la Figura 3 observamos la curva de Lorenz de España los años 1988 y 2008. Responde a las siguientes preguntas:

  1. ¿Observamos muchas diferencias entre la curva de Lorenz en 1988 y en 2008? ¿En qué año dirías, a simple vista, que había más desigualdad en España?
  2. Comenta el gráfico a partir de comparar el tercer, quinto y noveno decil de la distribución de la renta en España en los dos años.
  3. ¿Qué significaría que la línea azul y la línea naranja coincidieran?
  4. ¿Si la línea azul haz un círculo más pronunciado (más alejado de la línea naranja) tendríamos más o menos desigualdad?

El cálculo del índice de Gini, pues, parte de la curva de Lorenz. Para obtenerlo debemos calcular la proporción del área que se encuentra entre la línea azul y la línea naranja sobre el área en forma de triángulo entre la línea naranja y el extremo inferior derecho del gráfico. Por eso haremos las siguientes operaciones:

  • Calculamos B: el área que forma RRinc_cum (línea azul) y el extremo inferior derecho del gráfico.
  • Calculamos A: el área que forma RRmean_cum (línea naranja) y el extremo inferior derecho del gráfico.
  • El índice de Gini se obtiene con la fórmula:

\[Gini = \frac{A}{A + B} * 100\]

gini_spain %>%
  mutate(base = group - lag(group, default = 0),
         square = lag(RRinc_cum, default = 0) * base,
         triangle = (RRinc_cum - lag(RRinc_cum, default = 0)) / 2,
         area = square + triangle) %>%
  summarize(B = sum(area), #calculamos B
            `A+B` = max(RRmean_cum) * max(group) / 2, #calculamos A + B
            A = `A+B` - B, #calculamos A
            Gini = round(A / `A+B` * 100, 1)) %>% #obtenemos el índice
  transmute(Any = bin_year, A, B, `A+B`, Gini)
Table 3: Índice de Gini en España 1988-2008
AnyABA+BGini
198811171623978435150031.8
200816171737453353625030.2

EJERCICIO FINAL: El código anterior nos ha generado la Tabla 3, donde podemos ver la extensión de las áreas A y B y el índice de Gini de España en los años seleccionados.

  1. Interpreta el índice de Gini de España ¿Las desigualdades han disminuido o han aumentado en el periodo 1988-2008?
  2. ¿Podríamos decir que el índice de Gini es alto en España en comparación a otros países del mundo?
  3. ¿Cuál sería el área total de todo el gráfico? (Pista: tiene forma de cuadrado)
  4. Elige otro país en dos años que selecciones entre los que tienes disponibles en la variable bin_year. Visualiza la curva de Lorenz y calcula el índice de Gini. Haz un breve comentario de los resultados.

Referencias

Milanovic, Branko. 2016. Global Inequality: A New Approach for the Age of. Globalization. Cambridge, MA: Harvard University Press.

  1. Esta actividad está elaborada con propósitos estrictamente docentes. Las operaciones que se realizan no pretenden tener validez desde un punto de vista académico. Puede ayudarse de este RMarkdown↩︎

  2. La única diferencia es que en Global Inequalities observamos el ingreso relativo por ventiles entre 1988 y 2008, mientras que en este gráfico observamos el cambio relativo en el ingreso real por ventil entre 1988 y 2008.↩︎

Next