4.1 Filter
Con filter()
podemos obtener un subconjunto de las observaciones basadas en sus valores. Por ejemplo,
para obtener lainformación solamente de los municipios del estado de Aguascalientes
library(dplyr)
::filter(poblacion, nom_ent == "Aguascalientes") dplyr
## # A tibble: 11 × 9
## entidad nom_ent mun nom_mun pobtot pobfem pob0_14 pob15…¹ pob65…²
## <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 01 Aguascalientes 001 Aguascali… 948990 486917 240583 639532 67941
## 2 01 Aguascalientes 002 Asientos 51536 26275 16266 31919 3331
## 3 01 Aguascalientes 003 Calvillo 58250 29687 16720 35854 5641
## 4 01 Aguascalientes 004 Cosío 17000 8708 5183 10699 1118
## 5 01 Aguascalientes 005 Jesús Mar… 129929 65710 38303 84949 6538
## 6 01 Aguascalientes 006 Pabellón … 47646 24269 14140 30491 2977
## 7 01 Aguascalientes 007 Rincón de… 57369 29268 17703 35926 3579
## 8 01 Aguascalientes 008 San José … 9552 5020 3033 5838 681
## 9 01 Aguascalientes 009 Tepezalá 22485 11371 6858 14007 1566
## 10 01 Aguascalientes 010 El Llano 20853 10407 6249 13211 1392
## 11 01 Aguascalientes 011 San Franc… 61997 31292 20157 39408 2306
## # … with abbreviated variable names ¹pob15_64, ²pob65_mas
%>%
poblacion ::filter(nom_ent == "Aguascalientes") dplyr
## # A tibble: 11 × 9
## entidad nom_ent mun nom_mun pobtot pobfem pob0_14 pob15…¹ pob65…²
## <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 01 Aguascalientes 001 Aguascali… 948990 486917 240583 639532 67941
## 2 01 Aguascalientes 002 Asientos 51536 26275 16266 31919 3331
## 3 01 Aguascalientes 003 Calvillo 58250 29687 16720 35854 5641
## 4 01 Aguascalientes 004 Cosío 17000 8708 5183 10699 1118
## 5 01 Aguascalientes 005 Jesús Mar… 129929 65710 38303 84949 6538
## 6 01 Aguascalientes 006 Pabellón … 47646 24269 14140 30491 2977
## 7 01 Aguascalientes 007 Rincón de… 57369 29268 17703 35926 3579
## 8 01 Aguascalientes 008 San José … 9552 5020 3033 5838 681
## 9 01 Aguascalientes 009 Tepezalá 22485 11371 6858 14007 1566
## 10 01 Aguascalientes 010 El Llano 20853 10407 6249 13211 1392
## 11 01 Aguascalientes 011 San Franc… 61997 31292 20157 39408 2306
## # … with abbreviated variable names ¹pob15_64, ²pob65_mas
No es necesario el uso del pipe, ya que los verbos de dplyr
son funciones de R. Sin embargo,
comúnmente usaremos múltiples verbos en un pipe y por eso es bueno acostumbrarnos a su uso. Además,
permiten concatenar otro tipo de operaciones. Por ejemplo, si queremos obtener el total de la población
de los estados del Bajío: Aguascalientes, Guanajuato, Querétaro, San Luis Potosí y Zacatecas, podemos lograrlo con:
<- c("Aguascalientes", "Guanajuato", "Querétaro", "San Luis Potosí", "Zacatecas")
bajio
%>%
poblacion ::filter(nom_ent %in% bajio) %>%
dplyr::pull(pobtot) %>%
dplyrsum()
## [1] 14405401
dplyr::pull
es una función que nos permite extraer los valores de una variable, de manera similar a
$
, pero su formato nos permite añadirla en pipes.
Podemos filtrar cualquier tipo de variable, por ejemplo, para obtener los municipios con más de 1 millón de habitantes
%>%
poblacion ::filter(pobtot > 1000000) dplyr
## # A tibble: 14 × 9
## entidad nom_ent mun nom_mun pobtot pobfem pob0_14 pob15…¹ pob65…²
## <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 02 Baja California 002 Mexicali 1.05e6 520544 234367 734081 80587
## 2 02 Baja California 004 Tijuana 1.92e6 953783 449147 1359876 107406
## 3 08 Chihuahua 037 Juárez 1.51e6 755473 380302 1042232 85438
## 4 09 Ciudad de México 005 Gustavo… 1.17e6 609477 212345 819397 141375
## 5 09 Ciudad de México 007 Iztapal… 1.84e6 947835 366835 1293944 174312
## 6 11 Guanajuato 020 León 1.72e6 874542 447739 1160943 108370
## 7 14 Jalisco 039 Guadala… 1.39e6 718632 272081 940751 168417
## 8 14 Jalisco 120 Zapopan 1.48e6 755899 328031 998273 113576
## 9 15 México 033 Ecatepe… 1.65e6 846803 359605 1141183 143997
## 10 15 México 058 Nezahua… 1.08e6 557286 216244 746322 114432
## 11 19 Nuevo León 039 Monterr… 1.14e6 578189 221453 775139 138010
## 12 21 Puebla 114 Puebla 1.69e6 882696 372742 1173783 144652
## 13 22 Querétaro 014 Queréta… 1.05e6 535188 231542 741089 72340
## 14 25 Sinaloa 006 Culiacán 1.00e6 512484 248043 678895 74751
## # … with abbreviated variable names ¹pob15_64, ²pob65_mas