# Indice de Desarrollo Humano (IDH)
# El IDH se creó para enfatizar que las personas y sus capacidades deben ser el criterio fundamental para evaluar el desarrollo de un país, no solo el crecimiento económico. El IDH también se puede utilizar para cuestionar las opciones de políticas nacionales, preguntando cómo dos países con el mismo nivel de INB per cápita pueden terminar con diferentes resultados de desarrollo humano. Estos contrastes pueden estimular el debate sobre las prioridades de las políticas gubernamentales.
# El Índice de Desarrollo Humano (IDH) es una medida resumida del logro promedio en dimensiones clave del desarrollo humano: una vida larga y saludable, estar informado y tener un nivel de vida decente. El IDH es la media geométrica de los índices normalizados para cada una de las tres dimensiones. (United Nations Development Programme. Human Development Reports. Data Center http://hdr.undp.org/en/content/human-development-index-hdi)
# El IDH representa el promedio nacional de logros en desarrollo humano en las tres dimensiones básicas: a) esperanza de vida (salud), b) educación y c) ingresos.
# La dimensión de salud se evalúa por la esperanza de vida al nacer, la dimensión de educación se mide por la media de años de escolaridad para los adultos de 25 años y más y los años de escolaridad esperados para los niños en edad de ingresar a la escuela. La dimensión del nivel de vida se mide por el ingreso nacional bruto per cápita. El IDH utiliza el logaritmo de la renta para reflejar la importancia cada vez menor de la renta con el aumento del INB.
# En el siguiente análisis, se tomará los cojuntos de datos de HDI "2018_all_indicators_HDI, Ineq_in_education y globeMap" disponibles: índice ajustado, porcentaje y coeficientes. A partir, del análisis exploratorio de datos se desarrollará la pregunta de investigación, que nos irá llevando en el desarrollo del proyecto a su respectivo análisis y conclusiones.
# Los datos a utilizar muestran los diferentes indicadores de HDI para varios años, por continentes y paises.
#libreria utilizada para leer archivo xlsx
library(readxl)
## Warning: package 'readxl' was built under R version 4.0.4
# Leer el dataset con todos los indicadores y por año
dataAll <- read_excel("datasets/2018_all_indicators_HDI.xlsx")
# Descripción de los datos
str(dataAll)
## tibble [25,636 x 34] (S3: tbl_df/tbl/data.frame)
## $ dimension : chr [1:25636] "Composite indices" "Composite indices" "Composite indices" "Composite indices" ...
## $ indicator_id : num [1:25636] 146206 146206 146206 146206 146206 ...
## $ indicator_name: chr [1:25636] "HDI rank" "HDI rank" "HDI rank" "HDI rank" ...
## $ iso3 : chr [1:25636] "AFG" "ALB" "DZA" "AND" ...
## $ country_name : chr [1:25636] "Afghanistan" "Albania" "Algeria" "Andorra" ...
## $ 1990 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 1991 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 1992 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 1993 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 1994 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 1995 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 1996 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 1997 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 1998 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 1999 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2000 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2001 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2002 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2003 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2004 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2005 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2006 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2007 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2008 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2009 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2010 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2011 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2012 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2013 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2014 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2015 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
## $ 2016 : num [1:25636] 168 69 83 35 145 70 47 84 3 20 ...
## $ 2017 : num [1:25636] 168 68 85 35 147 70 47 83 3 20 ...
## $ 9999 : num [1:25636] NA NA NA NA NA NA NA NA NA NA ...
#Se puede observar un dataset de 34 columnas por 25.636 filas. Columnas con los siguientes datos:
# Códigos de indicadores
# Nombres de los indicadores mundiales
# Paises
# Años correspondientes de análisis.
# Se encuentran columnas con tipos de datos num y chr, entre las columnas se evidencian datos categóricos como son: $dimension, $indicator_id, $indicator_name, iso3 y country_name.
# Se buscan las columnas que empiezen por inequidad en la columna dimensión y realizamos la pregunta de investigación sobre el datapoint a trabajar.
# Se crea un nuevo data frame con los datos originales para preservar los datos.
DatoNuevo <- dataAll
# convertir las columnas categoricas en factores
DatoNuevo$dimension <- as.factor(dataAll$dimension)
DatoNuevo$indicator_id <- as.factor(dataAll$indicator_id)
DatoNuevo$indicator_name <- as.factor(dataAll$indicator_name)
DatoNuevo$iso3 <- as.factor(dataAll$iso3)
DatoNuevo$country_name <- as.factor(dataAll$country_name)
# Se extrae en el nuevo dataframe los datos de inequidad.
inequidad <- subset(DatoNuevo, DatoNuevo$dimension == 'Inequality')
# Se observa un total de 2014 filas correspondientes a los registros de cada indicador y 34 columnas con las variables factor y los años correspondientes para el tema de inequidad mundial
# Se gráfica el datapoint con los nombres de cada indicador referente a Inequidad
# libreria ggplot
library(ggplot2)
# inicialización del objecto de ggplot
graficoindicadores <- ggplot(inequidad)
# add aesthetics properties
graficoindicadores <- ggplot(inequidad, aes(indicator_name, fill = indicator_name))
# add geometry
graficoindicadores <- graficoindicadores + geom_bar() +
scale_fill_brewer(palette = "Set3")
# hide x axis labels
graficoindicadores <- graficoindicadores + theme(axis.text.x = element_blank())
graficoindicadores
¿ Cuál es el comportamiento mundial en términos de inequidad en la educación y cuán grande es esa brecha entre paises Sur Americanos y otros paises de otros continentes?. Para este último realizar una visualización que le permita ver la comparación entre Sur America con respecto a otro continente.
Se selecciona los datos del indicador de Inequality in education (%)
library('reshape2')
## Warning: package 'reshape2' was built under R version 4.0.5
library(ggplot2)
#install.packages("GGally")
library('GGally')
## Warning: package 'GGally' was built under R version 4.0.5
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
# Se realiza una selección de los datos correspondientes al indicador de análisis "Inequality in education (%)"
InqEdu <- subset(inequidad, inequidad$indicator_name == 'Inequality in education (%)')
# Se filtran las columnas vacias
InqEdu <- Filter(function(x) !(all(is.na(x))), InqEdu)
# Eliminar la columna final que no es año
InqEdu <- InqEdu[,-14]
# Revisión de los datos resultado
str(InqEdu)
## tibble [178 x 13] (S3: tbl_df/tbl/data.frame)
## $ dimension : Factor w/ 14 levels "Composite indices",..: 9 9 9 9 9 9 9 9 9 9 ...
## $ indicator_id : Factor w/ 157 levels "21806","23806",..: 58 58 58 58 58 58 58 58 58 58 ...
## $ indicator_name: Factor w/ 157 levels "Adjusted net savings (% of GNI)",..: 60 60 60 60 60 60 60 60 60 60 ...
## $ iso3 : Factor w/ 195 levels "AFG","AGO","ALB",..: 1 3 50 4 2 6 7 9 10 11 ...
## $ country_name : Factor w/ 195 levels "Afghanistan",..: 1 2 3 4 5 7 8 9 10 11 ...
## $ 2010 : num [1:178] 39.3 12.7 NA NA 26.2 12.1 6.5 1.7 2.4 12 ...
## $ 2011 : num [1:178] 39.3 11.9 NA NA NA 12.1 6.5 1.7 2.4 8.3 ...
## $ 2012 : num [1:178] 39.3 11.9 NA NA 34.6 12.1 3.7 1.7 2.5 8.3 ...
## $ 2013 : num [1:178] 45 11.9 NA NA 34.6 8.6 3.7 1.8 3.7 8.3 ...
## $ 2014 : num [1:178] 44.8 11.9 NA NA 34.6 8.1 3.7 1.9 3.5 8.3 ...
## $ 2015 : num [1:178] 44.8 11.9 NA NA 34.6 8.1 3.7 1.9 4.3 8.3 ...
## $ 2016 : num [1:178] 45.4 9.1 33.7 NA 34.3 6.1 2.9 3.7 2.6 4.3 ...
## $ 2017 : num [1:178] 45.4 8.5 33.7 9.4 34.3 6.2 2.9 2.6 2.6 3.8 ...
# Se observan datos para los años del 2010 al 2017 en total 178 registros.
# Grafica por coordenadas de paralelas con el objetivo de revisar la tendencia anual
grafico <- ggparcoord(InqEdu,
columns=c(6:13),
showPoints=TRUE,
groupColumn = 'iso3',
scale = 'globalminmax')
# Se agrega Geometría agrupando por país.
grafico <- grafico + geom_path(aes(group=iso3, color= iso3), na.rm=TRUE)
# se agrega geometria para agregar el label por país.
grafico <- grafico + geom_text(aes(label=iso3),size = 2, na.rm=TRUE, color = "black")
# Eliminar las leyendas en el gráfico
grafico <- grafico + theme(legend.position = "none")
# Agregar titulos
grafico <- grafico + labs(title=" Inequidad en Educación (%) 2010 - 2017 por Pais ", caption="Inequality in education (%) ", x = "Años", y = "Inequality in education (%)")
# Mostrar gráfico
grafico
# La función within utilizada para generar un cálculo en nuevas columnas.
# La función quantile calcula los quartiles 1, 2, 3 y 4. 0:4/4 evaluados en c(0, 0.25, 0.50, 0.75, 1).
InqEdu <- within (InqEdu, q_2010 <- as.integer(cut (InqEdu$`2010`, (quantile(na.omit(InqEdu$`2010`), probs=0:4/4)))))
InqEdu <- within (InqEdu, q_2011 <- as.integer(cut (InqEdu$`2011`, (quantile(na.omit(InqEdu$`2010`), probs=0:4/4)))))
InqEdu <- within (InqEdu, q_2012 <- as.integer(cut (InqEdu$`2012`, (quantile(na.omit(InqEdu$`2010`), probs=0:4/4)))))
InqEdu <- within (InqEdu, q_2013 <- as.integer(cut (InqEdu$`2013`, (quantile(na.omit(InqEdu$`2010`), probs=0:4/4)))))
InqEdu <- within (InqEdu, q_2014 <- as.integer(cut (InqEdu$`2014`, (quantile(na.omit(InqEdu$`2010`), probs=0:4/4)))))
InqEdu <- within (InqEdu, q_2015 <- as.integer(cut (InqEdu$`2015`, (quantile(na.omit(InqEdu$`2010`), probs=0:4/4)))))
InqEdu <- within (InqEdu, q_2016 <- as.integer(cut (InqEdu$`2016`, (quantile(na.omit(InqEdu$`2010`), probs=0:4/4)))))
InqEdu <- within (InqEdu, q_2017 <- as.integer(cut (InqEdu$`2017`, (quantile(na.omit(InqEdu$`2010`), probs=0:4/4)))))
# Se eliminan las columnas anteriores
meltQuartInq <- InqEdu[,c(-6:-13)]
# Se dejan las columnas categoricas y se reducen las variables años en la variable year utilizando
# metodo "melted".
meltQuartInq <- melt(meltQuartInq, id=(c("dimension","indicator_id" ,"indicator_name", "iso3", "country_name")))
# renombrar las columnas
colnames(meltQuartInq)[c(6,7)]<- c("year","value")
# grafica con los grupos de quartiles por año
ggplot(meltQuartInq) +
aes(x = value) +
geom_bar( aes(fill = ..count..), na.rm = TRUE) +
labs(title = 'Distribution of Inequality in education between 2010-2017',
subtitle = 'Distribution by quartiles',
caption = '1: <25%, 2: <50%, 3: <75%, 4: >=75%')+
theme_minimal() +
scale_fill_viridis_c(direction = -1)+
facet_grid(. ~ year)+
theme(legend.position = "none")
# Se visualiza a partir del gráfico el comportamiento anual que ha tenido la inequidad a nivel mundial,
# Entre los años 2015 hasta el 2018 se registra un aumento de paises que pasaron a ubicarse en los quartiles 1 y 2 que representan el 50 porciento de los casos al rededor del 20% y 25% de inequidad en educación. Para el año 2017 ingresan nuevos paises a estos grupos de inequidad ya sea porque se empiezan a medir en sus paises o el indicador aumento durante el año de análisis.
# Se puede observar para el año 2017 una disminución en algunos paises que tenían inequidad por encima del 35% y se encuentran dentro del quartil 3 y 4.
# Leer archivos de inequidad de educación por continente y país y, mapa mundial.
globeMap <- read.csv("C:/Users/Solutian/Desktop/Visualizacion/Trabajo Final Visualizacion/Trabajo Final Inequidad Mundial/datasets/globeMap.csv")
Ineq_in_education <- read.csv2("C:/Users/Solutian/Desktop/Visualizacion/Trabajo Final Visualizacion/Trabajo Final Inequidad Mundial/datasets/Ineq_in_education.csv")
# Graficar de bigotes con los datos de inequidad en educación agrupando por continente.
overallDist <- ggplot(Ineq_in_education, aes(x=as.factor(Continent), y=value, group = Continent))
overallDist <- overallDist + geom_point(aes(color=as.factor(Continent)), position=position_jitter(width=0.2,height=.2))
overallDist <- overallDist + geom_boxplot(aes(alpha=0.2))
overallDist <- overallDist + scale_color_manual(values = c("#596791" ,"#ca3355", "#acc11d", "#3b5c5d", "#f1e943", "#4146ca", "#e8737b", "#251141"))
overallDist <- overallDist + labs(title = "Distribución Global de Inequidad en Educación por Región", subtitle = "Agregado de 2010-2017", caption = " 1: Africa, 2:Antartida (removed), 3:Asia, 4:Europe, 5:North America, 6:Oceania, 7:South America", x = "Porcentaje en Educación (%)")
overallDist <- overallDist + theme(legend.position = "none")
overallDist
# Se puede observar altos porcentaje de inequidad y por encima de la media y dispersión de los datos en los contintes de Africa, Asia y Sur America.
# Por lo anterior, se realiza el análisis de inequidad en los continentes de Asia y Sur America.
# Gráfico de calor "heatmap" de Sur America y Asia
AsiaIneqEdu <- subset (Ineq_in_education, Ineq_in_education$Continent == 3)
SurAmericaIneqEdu <- subset (Ineq_in_education , Ineq_in_education$Continent == 7)
# Sur America
heatmap <- ggplot(SurAmericaIneqEdu , aes(x=country_name, y=year, fill=value))
heatmap <- heatmap + geom_tile()
heatmap <- heatmap + scale_fill_viridis_c(option="magma", limits = c(0,50))
heatmap <- heatmap + theme(axis.text.x = element_text(angle = 90))
heatmap <- heatmap + labs(title = "Inequidad en Educación Sur America", subtitle = "Desde 2010-2017", caption = "Paises Sur America", x = "País", y="Año")
heatmap
# Se observa disminución en la inequidad en educación en la mayoría de los paises Sur Americanos desde el año 2010 al 2017
# sin embargo, entre los más observados con inequidad se encuentran los paises cómo Bolivia, Brazil, Colombia y Paraguay.
# Asia
heatmap <- ggplot(AsiaIneqEdu , aes(x=country_name, y=year, fill=value))
heatmap <- heatmap + geom_tile()
heatmap <- heatmap + scale_fill_viridis_c(option="magma", limits = c(0,50))
heatmap <- heatmap + theme(axis.text.x = element_text(angle = 90))
heatmap <- heatmap + labs(title = "Inequidad en Educación Asia", subtitle = "Desde 2010-2017", caption = "Paises Asia", x = "País", y="Año")
heatmap
# Se observa un incremento en el indicador de inequidad en educación en la mayoría de los paises asiaticos
# Existe una gran dispersión de los datos de inequidad, puede presentarse que no se este llevando un registro
# asertivo de los datos de varios paises o por otro lado de los gobiernos nacionales no presente importancia
# en estos aspectos.