¿En qué países hay mayores libertades?

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
}

Mapa de calor según Índice promedio de libertad económica

funcion_grafico(variable=df_mapa@data$`Libertad economica`, titulo="Ind. Lib. Económica")

Mapa de calor según Índice promedio de libertad personal

funcion_grafico(variable=df_mapa@data$`Libertad personal`, titulo="Ind. Lib. Personal")

Mapa de calor según Índice promedio de libertad humana

funcion_grafico(variable=df_mapa@data$`Libertad humana`, titulo="Ind. Lib. Humana")