6.2 dplyr::select()
La función anterior sólo trabaja con observaciones, por lo que también debe existir un análogo para las variables, dicha función es dplyr::select(), la cual permite un conjunto de funciones útiles para hacer selecciones específicas de variables.
Population_FEntity %>% select(`Entidad Federativa`, Rango_edad, Porcentaje) %>% head()# A tibble: 6 x 3
`Entidad Federativa` Rango_edad Porcentaje
<chr> <chr> <dbl>
1 Aguascalientes 0 a 4 10.3
2 Baja California 0 a 4 9.41
3 Baja California Sur 0 a 4 9.00
4 Campeche 0 a 4 8.34
5 Coahuila 0 a 4 9.78
6 Colima 0 a 4 8.09
Lo anterior es equivalente a la siguiente instrucción:
Population_FEntity %>% select(!`Población Total`) %>% head()# A tibble: 6 x 3
`Entidad Federativa` Rango_edad Porcentaje
<chr> <chr> <dbl>
1 Aguascalientes 0 a 4 10.3
2 Baja California 0 a 4 9.41
3 Baja California Sur 0 a 4 9.00
4 Campeche 0 a 4 8.34
5 Coahuila 0 a 4 9.78
6 Colima 0 a 4 8.09
Utilizar el operando ! se indica que dicha variable no se desea observar, dicha instrucción se pudo haber sustituido con Population_FEntity %>% select(-'Población Total'). También se puede usar un rango de columnas con :.
La función select tiene algunas funciones auxiliares para trabajar con texto como el uso de expresiones regulares. Algunas de estas funciones son contains(), ends_with() y start_with(). Para el uso de este tipo de filtros en observaciones, véase el paquete stringr.
iris %>% select(starts_with("Petal")) %>% head() Petal.Length Petal.Width
1 1.4 0.2
2 1.4 0.2
3 1.3 0.2
4 1.5 0.2
5 1.4 0.2
6 1.7 0.4
Population_FEntity %>% select(contains("_")) %>% head()# A tibble: 6 x 1
Rango_edad
<chr>
1 0 a 4
2 0 a 4
3 0 a 4
4 0 a 4
5 0 a 4
6 0 a 4
Finalmente, para obtener todas las columnas se puede usar la función dplyr::everything(), para obtener variables donde sus nombres estén en un grupo dplyr::one_of y para seleccionar las variables por rango dplyr::num_range().