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.
%>% select(`Entidad Federativa`, Rango_edad, Porcentaje) %>% head() Population_FEntity
# 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:
%>% select(!`Población Total`) %>% head() Population_FEntity
# 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
.
%>% select(starts_with("Petal")) %>% head() iris
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
%>% select(contains("_")) %>% head() Population_FEntity
# 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()
.