Uso de paquetes de tidyverse para análisis de datos

Tidyverse es una librería que contiene paquetes para leer, manipular y graficar nuestros datos.

library(readr)
library(dplyr)

Con readr puedo leer archivos de texto que contienen datos.

poblacion <- read_tsv("data/poblacion.tsv")

Algunas funciones para ver los datos importados son:

head(poblacion)
## # A tibble: 6 × 9
##   entidad nom_ent          mun nom_mun     pobtot pobfem pob0_14 pob15…¹ pob65…²
##     <dbl> <chr>          <dbl> <chr>        <dbl>  <dbl>   <dbl>   <dbl>   <dbl>
## 1       1 Aguascalientes     1 Aguascalie… 948990 486917  240583  639532   67941
## 2       1 Aguascalientes     2 Asientos     51536  26275   16266   31919    3331
## 3       1 Aguascalientes     3 Calvillo     58250  29687   16720   35854    5641
## 4       1 Aguascalientes     4 Cosío        17000   8708    5183   10699    1118
## 5       1 Aguascalientes     5 Jesús María 129929  65710   38303   84949    6538
## 6       1 Aguascalientes     6 Pabellón d…  47646  24269   14140   30491    2977
## # … with abbreviated variable names ¹​pob15_64, ²​pob65_mas
glimpse(poblacion)
## Rows: 2,469
## Columns: 9
## $ entidad   <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, …
## $ nom_ent   <chr> "Aguascalientes", "Aguascalientes", "Aguascalientes", "Aguas…
## $ mun       <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1, 2, 3, 4, 5, 6, 1, 2, 3…
## $ nom_mun   <chr> "Aguascalientes", "Asientos", "Calvillo", "Cosío", "Jesús Ma…
## $ pobtot    <dbl> 948990, 51536, 58250, 17000, 129929, 47646, 57369, 9552, 224…
## $ pobfem    <dbl> 486917, 26275, 29687, 8708, 65710, 24269, 29268, 5020, 11371…
## $ pob0_14   <dbl> 240583, 16266, 16720, 5183, 38303, 14140, 17703, 3033, 6858,…
## $ pob15_64  <dbl> 639532, 31919, 35854, 10699, 84949, 30491, 35926, 5838, 1400…
## $ pob65_mas <dbl> 67941, 3331, 5641, 1118, 6538, 2977, 3579, 681, 1566, 1392, …

El verbo select nos permite seleccionar un subconjunto de nuestras variables o columnas en el dataset

poblacion %>%
  select(nom_ent, nom_mun, pobtot)
## # A tibble: 2,469 × 3
##    nom_ent        nom_mun             pobtot
##    <chr>          <chr>                <dbl>
##  1 Aguascalientes Aguascalientes      948990
##  2 Aguascalientes Asientos             51536
##  3 Aguascalientes Calvillo             58250
##  4 Aguascalientes Cosío                17000
##  5 Aguascalientes Jesús María         129929
##  6 Aguascalientes Pabellón de Arteaga  47646
##  7 Aguascalientes Rincón de Romos      57369
##  8 Aguascalientes San José de Gracia    9552
##  9 Aguascalientes Tepezalá             22485
## 10 Aguascalientes El Llano             20853
## # … with 2,459 more rows

Con summarize obtenemos valores agregados dados los valores únicos en nuestras columnas

 poblacion %>%
  group_by(nom_ent) %>%
  summarise(pobtot = sum(pobtot)) %>% 
  arrange(desc(pobtot))
## # A tibble: 32 × 2
##    nom_ent            pobtot
##    <chr>               <dbl>
##  1 México           16992418
##  2 Ciudad de México  9209944
##  3 Jalisco           8348151
##  4 Veracruz          8062579
##  5 Puebla            6583278
##  6 Guanajuato        6166934
##  7 Nuevo León        5784442
##  8 Chiapas           5543828
##  9 Michoacán         4748846
## 10 Oaxaca            4132148
## # … with 22 more rows

ggplot es el paquete de tidyverse para generar gráficas

library(ggplot2)

Con geom_bar generamos una gráfica de barras que muestra cuantas filas están asociadas a cada valor único en mi dataset.

ggplot() +
  geom_bar(data = poblacion, 
           mapping = aes(y = nom_ent)) + 
  xlab("Número de municipios") +
  ylab("Nombre del estado") +
  ggtitle("Número de municipios en cada estado") +
  theme_bw()