Lectura de datos

Importando datos

#Densidad Poblacional
densidad <- read.csv(file="DatAct1/DensidadPob.csv", encoding = "UTF-8",
                     skip = 4) %>% 
  select(Country.Name, X2017) %>%
  rename(pais = Country.Name, densidad17 = X2017) %>% 
  slice(-filas)

#Desempleo
desempleo <- read.csv(file = "DatAct1/Desempleo.csv", skip = 4, encoding = "UTF-8") %>% 
  select(Country.Name, X2017) %>% 
  rename(pais = Country.Name, desempleo17 = X2017) %>% 
  slice(-filas)

#Camas hospitalaria
camas <- read.csv(file = "DatAct1/CamasHospital.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2014) %>% 
  rename(pais = Country.Name, camas14 = X2014) %>% 
  slice(-filas)

#Cajeros automaticos
cajeros <- read.csv(file = "DatAct1/Cajeros.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2017) %>% 
  rename(pais = Country.Name, cajeros17 = X2017) %>% 
  slice(-filas)

#Contaminación por PM2.5
pm2.5 <- read.csv(file = "DatAct1/ContaminacionPM25.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2017) %>% 
  rename(pais = Country.Name, pm2517 = X2017) %>% 
  slice(-filas)

#Población rural
pob_rural <- read.csv(file = "DatAct1/PobRural.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2017) %>% 
  rename(pais = Country.Name, pobRural17 = X2017) %>% 
  slice(-filas)

#Tierras cultivables
tierra_cult <- read.csv(file = "DatAct1/TierrasCultivables.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2016) %>% 
  rename(pais = Country.Name, tierrasCult16 = X2016) %>% 
  slice(-filas)

#Consumo de fertilizantes
fertilizantes <- read.csv(file = "DatAct1/ConsumoFertilizantes.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2016) %>% 
  rename(pais = Country.Name, fertil16 = X2016) %>% 
  slice(-filas)

#Acceso a electricidad
electricidad <- read.csv(file = "DatAct1/AccesoElectricidad.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2016) %>% 
  rename(pais = Country.Name, electri16 = X2016) %>% 
  slice(-filas)

#PIB
pib <- read.csv(file = "DatAct1/PIB.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2016) %>% 
  rename(pais = Country.Name, pib16 = X2016) %>% 
  slice(-filas)

#Crecimiento PIB

cto_pib <- read.csv(file = "DatAct1/CrecimientoPIB.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2016) %>% 
  rename(pais = Country.Name, cto_pib16 = X2016) %>% 
  slice(-filas)

#Gasto público en educación
gasto_edu <- read.csv(file = "DatAct1/GastoPublico.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2016) %>% 
  rename(pais = Country.Name, gasto_edu16 = X2016) %>% 
  slice(-filas)

#Gasto militar
gasto_militar <- read.csv(file = "DatAct1/GastoMilitar.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2017) %>% 
  rename(pais = Country.Name, gasto_militar17 = X2017) %>% 
  slice(-filas)

#Gasto I+D
gasto_id <- read.csv(file = "DatAct1/GastoID.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2016) %>% 
  rename(pais = Country.Name, gasto_id16 = X2016) %>% 
  slice(-filas)

#Deuda externa acumulada
deuda <- read.csv(file = "DatAct1/GastoID.csv", skip = 4,
                  encoding = "UTF-8") %>% 
  select(Country.Name, X2016) %>% 
  rename(pais = Country.Name, deuda16 = X2016) %>% 
  slice(-filas)

Actividad

  1. Unir las bases de datos en un sólo data frame que contenga información para cada país.
  2. ¿Cuáles son los 10 países con mayor densidad poblacional?
  3. Piense en un gráfico (sólo uno) que permita evidenciar la relación del gasto en educación y el crecimiento del PIB.
  4. Genere una nueva variable con información del continente al cual pertenece el país.
  5. Con un gráfico o medida trate de mostrar la variación existente en el gasto en investigación y desarrollo por continente.
  6. Con un gráfico muestre cómo es la distribución de cada variable numérica.

Resultados

Punto 1

  • Funciones útiles para unir bases de datos (sólo de dos en dos):
    • merge(): función del paquete base.
    • inner_join(): función del paquete dplyr.
  • Exportando Datos Finales

Punto 2

Datos

Graficos de prueba

ggarrange(
  
  #Grafico 1
  df_unida %>% 
  select(pais,densidad17) %>% 
  arrange(desc(densidad17)) %>% 
  slice(c(1:10)) %>%  
  ggplot(., aes(x=reorder(pais,+densidad17),y=densidad17)) +
  geom_bar(stat = "identity") +
  labs(x="País", y ="Personas por kilometro", subtitle = "10 paises con mayor densidad poblacional",fill="")+
  theme_bw()+
  theme(axis.text.x = element_text(angle=45,hjust = 1),
        plot.subtitle = element_text(hjust=0.5)),
  
  #Grafico2
  df_unida %>% 
  select(pais,densidad17) %>% 
  arrange(desc(densidad17)) %>% 
  slice(c(1:10)) %>%  
  ggplot(., aes(x=reorder(pais,+densidad17),y=densidad17)) +
  geom_point() +
  labs(x="País", y ="Personas por kilometro", subtitle = "10 paises con mayor densidad poblacional",fill="")+
  theme_bw()+
  theme(axis.text.x = element_text(angle=45,hjust = 1),
        plot.subtitle = element_text(hjust=0.5)),
  
  #Grafico3
  df_unida %>% 
  select(pais,densidad17) %>% 
  arrange(desc(densidad17)) %>% 
  slice(c(1:10)) %>%  
  ggplot(., aes(x=reorder(pais,+densidad17),y=densidad17)) +
  geom_bar(stat = "identity") +
  labs(x="País", y ="Personas por kilometro", subtitle = "10 paises con mayor densidad poblacional",fill="")+
  theme(plot.subtitle = element_text(hjust=0.5))+
  coord_flip()+
  theme_bw(),
  
  #Grafico 4
  df_unida %>% 
  select(pais,densidad17) %>% 
  arrange(desc(densidad17)) %>% 
  slice(c(1:10)) %>%  
  ggplot(., aes(x=reorder(pais,+densidad17),y=densidad17)) +
  geom_point()+
  labs(x="País", y ="Personas por kilometro", subtitle = "10 paises con mayor densidad poblacional",fill="")+
  theme_bw()+
  theme(plot.subtitle = element_text(hjust=0.5))+
  coord_flip(),
  
  #Diseño de ventana
  ncol = 1,
  nrow = 4
)

Grafico interactivo

Punto 3

Gráfico

  • Gráfico de dispersion interactivo

Punto 4

  • Usar la funcion mutate() para crear la nueva variable.
  • Usar el operador %in% para asignar paises dentro de un continente.

Manual

  • Declarar vectores para cada continente (en total seran 5 vectores).
#Vectores Unidos

#Camibio de factor a caracter

df_unida <- df_unida %>% 
  mutate(pais=as.character(pais))

#Vectores de continentes
america<- c(df_unida$pais[6],
            df_unida$pais[9],
            df_unida$pais[11],
            df_unida$pais[15],
            df_unida$pais[18],
            df_unida$pais[21],
            df_unida$pais[23],
            df_unida$pais[25],
            df_unida$pais[28],
            df_unida$pais[36],
            df_unida$pais[38],
            df_unida$pais[41],
            df_unida$pais[47],
            df_unida$pais[50],
            df_unida$pais[51],
            df_unida$pais[54],
            df_unida$pais[55],
            df_unida$pais[57],
            df_unida$pais[61],
            df_unida$pais[75],
            df_unida$pais[77],
            df_unida$pais[79],
            df_unida$pais[83],
            df_unida$pais[84],
            df_unida$pais[85],
            df_unida$pais[94],
            df_unida$pais[96],
            df_unida$pais[101],
            df_unida$pais[102],
            df_unida$pais[103],
            df_unida$pais[106],
            df_unida$pais[134],
            df_unida$pais[143],
            df_unida$pais[153],
            df_unida$pais[155],
            df_unida$pais[156],
            df_unida$pais[160],
            df_unida$pais[169],
            df_unida$pais[174],
            df_unida$pais[178],
            df_unida$pais[179],
            df_unida$pais[186],
            df_unida$pais[193],
            df_unida$pais[200],
            df_unida$pais[207],
            df_unida$pais[210])
asia<- c(df_unida$pais[1],
         df_unida$pais[7],
         df_unida$pais[10],
         df_unida$pais[14],
         df_unida$pais[16],
         df_unida$pais[17],
         df_unida$pais[24],
         df_unida$pais[29],
         df_unida$pais[34],
         df_unida$pais[39],
         df_unida$pais[45],
         df_unida$pais[46],
         df_unida$pais[58],
         df_unida$pais[65],
         df_unida$pais[67],
         df_unida$pais[72],
         df_unida$pais[86],
         df_unida$pais[88],
         df_unida$pais[89],
         df_unida$pais[90],
         df_unida$pais[91],
         df_unida$pais[104],
         df_unida$pais[107],
         df_unida$pais[108],
         df_unida$pais[109],
         df_unida$pais[111],
         df_unida$pais[114],
         df_unida$pais[117],
         df_unida$pais[125],
         df_unida$pais[127],
         df_unida$pais[136],
         df_unida$pais[139],
         df_unida$pais[142],
         df_unida$pais[149],
         df_unida$pais[151],
         df_unida$pais[161],
         df_unida$pais[162],
         df_unida$pais[164],
         df_unida$pais[168],
         df_unida$pais[171],
         df_unida$pais[185],
         df_unida$pais[188],
         df_unida$pais[194],
         df_unida$pais[196],
         df_unida$pais[197],
         df_unida$pais[202],
         df_unida$pais[208],
         df_unida$pais[211],
         df_unida$pais[212])
europa<- c(df_unida$pais[2],
           df_unida$pais[3],
           df_unida$pais[4],
           df_unida$pais[13],
           df_unida$pais[19],
           df_unida$pais[20],
           df_unida$pais[26],
           df_unida$pais[30],
           df_unida$pais[40],
           df_unida$pais[49],
           df_unida$pais[52],
           df_unida$pais[59],
           df_unida$pais[60],
           df_unida$pais[62],
           df_unida$pais[68],
           df_unida$pais[69],
           df_unida$pais[74],
           df_unida$pais[76],
           df_unida$pais[87],
           df_unida$pais[92],
           df_unida$pais[93],
           df_unida$pais[95],
           df_unida$pais[97],
           df_unida$pais[98],
           df_unida$pais[105],
           df_unida$pais[113],
           df_unida$pais[116],
           df_unida$pais[120],
           df_unida$pais[121],
           df_unida$pais[122],
           df_unida$pais[123],
           df_unida$pais[129],
           df_unida$pais[135],
           df_unida$pais[137],
           df_unida$pais[146],
           df_unida$pais[150],
           df_unida$pais[158],
           df_unida$pais[159],
           df_unida$pais[163],
           df_unida$pais[166],
           df_unida$pais[167],
           df_unida$pais[170],
           df_unida$pais[172],
           df_unida$pais[177],
           df_unida$pais[182],
           df_unida$pais[191],
           df_unida$pais[192],
           df_unida$pais[203],
           df_unida$pais[205])

oceania<- c(df_unida$pais[12],
            df_unida$pais[66],
            df_unida$pais[78],
            df_unida$pais[99],
            df_unida$pais[100],
            df_unida$pais[112],
            df_unida$pais[130],
            df_unida$pais[141],
            df_unida$pais[147],
            df_unida$pais[148],
            df_unida$pais[152],
            df_unida$pais[154],
            df_unida$pais[157],
            df_unida$pais[175],
            df_unida$pais[176],
            df_unida$pais[199],
            df_unida$pais[204],
            df_unida$pais[209])

africa<- c(df_unida$pais[5],
           df_unida$pais[8],
           df_unida$pais[22],
           df_unida$pais[27],
           df_unida$pais[31],
           df_unida$pais[32],
           df_unida$pais[33],
           df_unida$pais[35],
           df_unida$pais[37],
           df_unida$pais[42],
           df_unida$pais[43],
           df_unida$pais[44],
           df_unida$pais[48],
           df_unida$pais[53],
           df_unida$pais[56],
           df_unida$pais[63],
           df_unida$pais[64],
           df_unida$pais[70],
           df_unida$pais[71],
           df_unida$pais[73],
           df_unida$pais[80],
           df_unida$pais[81],
           df_unida$pais[82],
           df_unida$pais[110],
           df_unida$pais[115],
           df_unida$pais[118],
           df_unida$pais[119],
           df_unida$pais[124],
           df_unida$pais[126],
           df_unida$pais[128],
           df_unida$pais[131],
           df_unida$pais[132],
           df_unida$pais[133],
           df_unida$pais[138],
           df_unida$pais[140],
           df_unida$pais[144],
           df_unida$pais[145],
           df_unida$pais[165],
           df_unida$pais[173],
           df_unida$pais[180],
           df_unida$pais[181],
           df_unida$pais[183],
           df_unida$pais[184],
           df_unida$pais[187],
           df_unida$pais[189],
           df_unida$pais[190],
           df_unida$pais[195],
           df_unida$pais[198],
           df_unida$pais[201],
           df_unida$pais[206],
           df_unida$pais[213],
           df_unida$pais[214])

#Generando Variable con continente
df_unida <- df_unida %>% 
  mutate(continente = if_else(condition = pais %in% america,
                              true = "América",
                              false = if_else(condition = pais %in% asia,
                                              true = "Asia",
                                              false = if_else(pais %in% europa,
                                                              true = "Europa",
                                                              false = if_else(pais %in% oceania, true = "Oceanía",
                                                                              false = if_else(pais %in% africa,
                                                                                              true = "Africa",
                                                                                              false = "Otro")))))) %>% 
  mutate(continente = factor(continente))

Concountrycode

#Listado de paises y contienentes
lista_pais_continente <- data.frame(pais = countrycode::codelist$cldr.name.es, 
                                    continente2 = countrycode::codelist$continent,  
                                    stringsAsFactors = FALSE)

#Conversion a palabras sin tilde
lista_pais_continente <- lista_pais_continente %>% 
  mutate(pais=stri_trans_general(pais,"Latin-ASCII"))

df_unida <- df_unida %>% 
  mutate(pais=stri_trans_general(pais,"Latin-ASCII"))

#Correccion de nombres 
df_unida$pais[df_unida$pais %in%  "Arabia Saudita"] = "Arabia Saudi"
df_unida$pais[df_unida$pais %in%  "Bahrein"] = "Barein"
df_unida$pais[df_unida$pais %in%  "Bangladesh"] = "Banglades"
df_unida$pais[df_unida$pais %in%  "Belarus"] = "Bielorrusia"
df_unida$pais[df_unida$pais %in%  "Bhutan"] = "Butan"
df_unida$pais[df_unida$pais %in%  "Bosnia y Herzegovina"] = "Bosnia-Herzegovina"
df_unida$pais[df_unida$pais %in%  "Botswana"] = "Botsuana"
df_unida$pais[df_unida$pais %in%  "Brunei Darussalam"] = "Brunei"
df_unida$pais[df_unida$pais %in%  "Congo, Republica del"] = "Republica del Congo"
df_unida$pais[df_unida$pais %in%  "Congo, Republica Democratica del"] = "Republica Democratica del Congo"
df_unida$pais[df_unida$pais %in%  "Corea, Republica de"] = "Republica de Corea"
df_unida$pais[df_unida$pais %in%  "Corea, Republica Popular Democratica de"] = "Republica Popular Democratica de Corea"
df_unida$pais[df_unida$pais %in%  "Curacao"] = "Curazao"
df_unida$pais[df_unida$pais %in%  "Djibouti"] = "Yibuti"
df_unida$pais[df_unida$pais %in%  "Egipto, Republica Arabe de"] = "Egipto"
df_unida$pais[df_unida$pais %in%  "Eswatini"] = "Suazilandia"
df_unida$pais[df_unida$pais %in%  "Federacion de Rusia"] = "Rusia"
df_unida$pais[df_unida$pais %in%  "Fiji"] = "Fiyi"
df_unida$pais[df_unida$pais %in%  "Guinea-Bissau"] = "Guinea-Bisau"
df_unida$pais[df_unida$pais %in%  "Hong Kong, Region Administrativa Especial"] = "RAE de Hong Kong (China)"
df_unida$pais[df_unida$pais %in%  "Iran, Republica Islamica del"] = "Iran"
df_unida$pais[df_unida$pais %in%  "Iraq"] = "Irak"
df_unida$pais[df_unida$pais %in%  "Islas Virgenes (EE.UU.)"] = "Islas Virgenes de EE. UU."
df_unida$pais[df_unida$pais %in%  "Kazajstan"] = "Kazajistan"
df_unida$pais[df_unida$pais %in%  "Kenya"] = "Kenia"
df_unida$pais[df_unida$pais %in%  "Lesotho"] = "Lesoto"
df_unida$pais[df_unida$pais %in%  "Malawi"] = "Malaui"
df_unida$pais[df_unida$pais %in%  "Micronesia (Estados Federados de)"] = "Estados Federados de Micronesia"
df_unida$pais[df_unida$pais %in%  "Myanmar"] = "Myanmar (Birmania)"
df_unida$pais[df_unida$pais %in%  "Nueva Zelandia"] = "Nueva Zelanda"
df_unida$pais[df_unida$pais %in%  "Palau"] = "Palaos"
df_unida$pais[df_unida$pais %in%  "Qatar"] = "Catar"
df_unida$pais[df_unida$pais %in%  "Region Administrativa Especial de Macao, China"] = "RAE de Macao (China)"
df_unida$pais[df_unida$pais %in%  "Republica Arabe Siria"] = "Siria"
df_unida$pais[df_unida$pais %in%  "Republica Checa"] = "Chequia"
df_unida$pais[df_unida$pais %in%  "Republica de Moldova"] = "Moldavia"
df_unida$pais[df_unida$pais %in%  "Republica Democratica Popular Lao"] = "Laos"
df_unida$pais[df_unida$pais %in%  "Republica Eslovaca"] = "Eslovaquia"
df_unida$pais[df_unida$pais %in%  "Rwanda"] = "Ruanda"
df_unida$pais[df_unida$pais %in%  "Saint Kitts y Nevis"] = "San Cristobal y Nieves"
df_unida$pais[df_unida$pais %in%  "Suriname"] = "Surinam"
df_unida$pais[df_unida$pais %in%  "Viet Nam"] = "Vietnam"
df_unida$pais[df_unida$pais %in%  "Yemen, Rep. del"] = "Yemen"
df_unida$pais[df_unida$pais %in%  "Zimbabwe"] = "Zimbabue"


#Uniendo la informacion de continente
df_unida <- df_unida %>% left_join(lista_pais_continente)

#Añadiendo informacio extra
df_unida$continente2[df_unida$pais %in%  "Islas del Canal"] = "Europe"
df_unida$continente2[df_unida$pais %in%  "Kosovo"] = "Europe"
df_unida$continente2[df_unida$pais %in%  "Macedonia del Norte"] = "Europe"
df_unida$continente2[df_unida$pais %in%  "Mariana"] = "Oceania"
df_unida$continente2[df_unida$pais %in%  "Ribera Occidental y Gaza"] = "Asia"
df_unida$continente2[df_unida$pais %in%  "Republica de Corea"] = "Asia"
df_unida$continente2[df_unida$pais %in%  "Isla de San Martin (parte francesa)"] = "Americas"
df_unida$continente2[df_unida$pais %in%  "Republica Popular Democratica de Corea"] = "Asia"
df_unida$continente2[df_unida$pais %in%  "Sint Maarten (Dutch part)"] = "Americas"

df_unida <- df_unida %>% mutate(continente=as.factor(continente))


#Imprimir tabla con opciones de descarga
datatable(df_unida,extensions = 'Buttons', 
          options = list( scrollX = TRUE, 
                          fixedColumns = TRUE, 
                          dom = 'Bfrtip',buttons = 
                            list('copy', 
                                 'print', 
                                 list( extend = 'collection', 
                                                        buttons = c('csv', 
                                                                    'excel', 
                                                                    'pdf'), 
                                       text = 'Download'))))
  • Exportando Datos con continentes

Punto 5

Gasto ID

  • Comparación del gasto Investigacion y desarrollo por continente:

Todo

  • Boxplot de todas las variables por continente (Estatico):

  • Boxplot de todas las variables por continente (interactivo):

Punto 6

  • Densidad de todas las variables:
  • Densidad de todas las variables por continente:
  • Densidad de todas las variables por continente con ggridges :