4.2 Select

Con select() podemos elegir subconjuntos de variables o columnas de nuestro dataset.

para elegir el nombre del municipio y la población total

poblacion %>% 
   dplyr::select(nom_mun, pobtot) %>%
  head()
## # A tibble: 6 × 2
##   nom_mun             pobtot
##   <chr>                <dbl>
## 1 Aguascalientes      948990
## 2 Asientos             51536
## 3 Calvillo             58250
## 4 Cosío                17000
## 5 Jesús María         129929
## 6 Pabellón de Arteaga  47646

El dataset original se mantiene sin cambios ya que los verbos regresan un nuevo dataframe. También es posible quitar columnas con selección negativa.

poblacion %>% 
   dplyr::select(-c(pob0_14, pob15_64, pob65_mas))
## # A tibble: 2,469 × 6
##    entidad nom_ent        mun   nom_mun             pobtot pobfem
##    <chr>   <chr>          <chr> <chr>                <dbl>  <dbl>
##  1 01      Aguascalientes 001   Aguascalientes      948990 486917
##  2 01      Aguascalientes 002   Asientos             51536  26275
##  3 01      Aguascalientes 003   Calvillo             58250  29687
##  4 01      Aguascalientes 004   Cosío                17000   8708
##  5 01      Aguascalientes 005   Jesús María         129929  65710
##  6 01      Aguascalientes 006   Pabellón de Arteaga  47646  24269
##  7 01      Aguascalientes 007   Rincón de Romos      57369  29268
##  8 01      Aguascalientes 008   San José de Gracia    9552   5020
##  9 01      Aguascalientes 009   Tepezalá             22485  11371
## 10 01      Aguascalientes 010   El Llano             20853  10407
## # … with 2,459 more rows

Y renombrar y reordenar las columnas

poblacion %>% 
   dplyr::select(id_mun = mun, municipio = nom_mun,  estado = nom_ent)
## # A tibble: 2,469 × 3
##    id_mun municipio           estado        
##    <chr>  <chr>               <chr>         
##  1 001    Aguascalientes      Aguascalientes
##  2 002    Asientos            Aguascalientes
##  3 003    Calvillo            Aguascalientes
##  4 004    Cosío               Aguascalientes
##  5 005    Jesús María         Aguascalientes
##  6 006    Pabellón de Arteaga Aguascalientes
##  7 007    Rincón de Romos     Aguascalientes
##  8 008    San José de Gracia  Aguascalientes
##  9 009    Tepezalá            Aguascalientes
## 10 010    El Llano            Aguascalientes
## # … with 2,459 more rows

Además, la función everything() selecciona las columnas restantes.

poblacion %>% 
   dplyr::select(id_mun = mun, municipio = nom_mun,  
         estado = nom_ent, everything(), -mun, -entidad)
## # A tibble: 2,469 × 7
##    municipio           estado         pobtot pobfem pob0_14 pob15_64 pob65_mas
##    <chr>               <chr>           <dbl>  <dbl>   <dbl>    <dbl>     <dbl>
##  1 Aguascalientes      Aguascalientes 948990 486917  240583   639532     67941
##  2 Asientos            Aguascalientes  51536  26275   16266    31919      3331
##  3 Calvillo            Aguascalientes  58250  29687   16720    35854      5641
##  4 Cosío               Aguascalientes  17000   8708    5183    10699      1118
##  5 Jesús María         Aguascalientes 129929  65710   38303    84949      6538
##  6 Pabellón de Arteaga Aguascalientes  47646  24269   14140    30491      2977
##  7 Rincón de Romos     Aguascalientes  57369  29268   17703    35926      3579
##  8 San José de Gracia  Aguascalientes   9552   5020    3033     5838       681
##  9 Tepezalá            Aguascalientes  22485  11371    6858    14007      1566
## 10 El Llano            Aguascalientes  20853  10407    6249    13211      1392
## # … with 2,459 more rows