Esta semana en #datosdemieRcoles se propone analizar datos sobre el Índice de Libertad Humana.
La base contiene una muestra de países para los cuales se puede observar, en el período 2008-2016, un:
La idea es presentar un mapa de calor de acuerdo a cada índice promedio de libertad, en el cual los países con mayores índices de libertad van a aparecer en color verde o gris y los países con menores índices de libertad van en color rojo.
library(ggplot2)
library(data.table)
# Levanto la base
# install_packages("readr")
libertad <- readr::read_csv("https://raw.githubusercontent.com/cienciadedatos/datos-de-miercoles/master/datos/2019/2019-08-14/libertad.csv")
#Necesito descargar el shapefile mundial
#Corrijo los nombres de algunos países de mi base para que coincidan con los nombres de los países del shapefile mundial.
libertad$PAIS<-libertad$pais
libertad$PAIS[libertad$pais=="Hong Kong"]<-"Hong-Kong"
libertad$PAIS[libertad$pais=="República Central Africana"]<-"República Centroafricana"
libertad$PAIS[libertad$pais=="Iran"]<-"Irán"
libertad$PAIS[libertad$pais=="Cote d'Ivoire"]<-"Costa de Márfil"
libertad$PAIS[libertad$pais=="Benin"]<- "Benín"
libertad$PAIS[libertad$pais=="Lesotho"]<-"Lesoto"
libertad$PAIS[libertad$pais=="Bangladesh"]<-"Bangladés"
libertad$PAIS[libertad$pais=="Suazilandia"]<- "Suiza"
libertad$PAIS[libertad$pais=="Arabia Saudita"]<- "Arabia Saudí"
libertad$PAIS[libertad$pais=="Timor-Leste"]<- "Timor Oriental"
libertad$PAIS[libertad$pais=="Surinam"]<- "Surinám"
libertad$PAIS[libertad$pais=="Bosnia y Herzegovina"]<-"Bosnia-Herzegovina"
libertad$PAIS[libertad$pais=="Moldova"]<-"Moldavia"
libertad$PAIS[libertad$pais=="México"]<- "Méjico"
libertad$PAIS[libertad$pais=="Fiji"]<- "Fiyi"
libertad$PAIS[libertad$pais=="Brunei Darussalam"]<-"Brunéi Darussalam"
libertad$PAIS[libertad$pais=="Belize"]<- "Belice"
libertad$PAIS[libertad$pais=="Bhutan"]<-"Bután"
libertad$PAIS[libertad$pais=="Cambodia"]<- "Camboya"
libertad$PAIS[libertad$pais=="Kasajistán"]<-"Kazajistán"
libertad$PAIS[libertad$pais=="Mauritius"]<- "Mauricio, Islas"
libertad$PAIS[libertad$pais=="Latvia"]<-"Letonia"
libertad$PAIS[libertad$pais=="Rumania"]<- "Rumanía"
libertad$PAIS[libertad$pais=="Korea"]<-"Corea, República de"
libertad$PAIS[libertad$pais=="Algeria"]<-"Argelia"
#Hago la tabla de los indices promedios
indices_promedios<- as.data.table(aggregate(cbind(libertad_economica_puntaje,libertad_humana_puntaje, libertad_personal_puntaje)~PAIS,libertad, FUN=mean, na.action=na.omit))
colnames(indices_promedios)<- c("PAIS","Libertad economica", "Libertad humana", "Libertad personal")
indices_promedios$`Libertad economica`<- round(indices_promedios$`Libertad economica`,2)
indices_promedios$`Libertad humana`<- round(indices_promedios$`Libertad humana`,2)
indices_promedios$`Libertad personal`<- round(indices_promedios$`Libertad personal`,2)
indices_promedios<- indices_promedios[order(indices_promedios$`Libertad economica`, decreasing = TRUE),]
head(indices_promedios)
## PAIS Libertad economica Libertad humana Libertad personal
## 1: Hong-Kong 9.02 8.97 8.92
## 2: Singapur 8.78 8.10 7.43
## 3: Nueva Zelanda 8.42 8.86 9.29
## 4: Canadá 8.02 8.62 9.22
## 5: Mauricio, Islas 8.02 8.13 8.24
## 6: Australia 8.00 8.61 9.23
library(dplyr)
library(rgdal)
library(leaflet)
#Levanto el shapefile mundial que descargue
df_mapa<- readOGR("C:/Users/DEMILI/Desktop/Codigos_R/Datos de Miercoles/03 Indice de libertad/shapefilemundial/shp_mapa_paises_mundo_2014/Mapa_paises_mundo.shp")
## OGR data source with driver: ESRI Shapefile
## Source: "C:\Users\DEMILI\Desktop\Codigos_R\Datos de Miercoles\03 Indice de libertad\shapefilemundial\shp_mapa_paises_mundo_2014\Mapa_paises_mundo.shp", layer: "Mapa_paises_mundo"
## with 256 features
## It has 5 fields
df_mapa <- merge(df_mapa,indices_promedios, by="PAIS")
df_mapa<- subset(df_mapa, PAIS%in%indices_promedios$PAIS)
library(RColorBrewer)
pal <- colorNumeric(
palette = "RdYlGn",
domain = df_mapa@data$`Libertad economica`)
funcion_grafico<- function(variable, titulo){
g<-leaflet(data = df_mapa) %>%
addTiles()%>%
addPolygons(
weight = 1,
fillOpacity = 0.8,
color = "black",
fillColor = ~pal(variable),
# popup = paste(df_mapa@data$PAIS, variable, sep=" "), #%>% #etiqueta los paises
label=paste(df_mapa@data$PAIS, variable, sep=" "))%>%
addLegend(pal=pal, position = "bottomleft",
title= titulo,
values = variable,
opacity = 0.9)
g
}
funcion_grafico(variable=df_mapa@data$`Libertad economica`, titulo="Ind. Lib. Económica")
funcion_grafico(variable=df_mapa@data$`Libertad personal`, titulo="Ind. Lib. Personal")