Se utiliza la función filter() para encontrar casos donde las condiciones a los que sujetamos la búsqueda sean verdaderos.
Uso:
Para la demostración del uso de filter utilizaremos un set de datos de la API de Star Wars, que incluye las características de todos sus personajes.
library(dplyr)
humanos = filter(starwars,species == "Human")
print(humanos)
## # A tibble: 35 x 13
## name height mass hair_color skin_color eye_color birth_year gender
## <chr> <int> <dbl> <chr> <chr> <chr> <dbl> <chr>
## 1 Luke~ 172 77 blond fair blue 19 male
## 2 Dart~ 202 136 none white yellow 41.9 male
## 3 Leia~ 150 49 brown light brown 19 female
## 4 Owen~ 178 120 brown, gr~ light blue 52 male
## 5 Beru~ 165 75 brown light blue 47 female
## 6 Bigg~ 183 84 black light brown 24 male
## 7 Obi-~ 182 77 auburn, w~ fair blue-gray 57 male
## 8 Anak~ 188 84 blond fair blue 41.9 male
## 9 Wilh~ 180 NA auburn, g~ fair blue 64 male
## 10 Han ~ 180 80 brown fair brown 29 male
## # ... with 25 more rows, and 5 more variables: homeworld <chr>, species <chr>,
## # films <list>, vehicles <list>, starships <list>
En este caso utilizamos la opción filter para clasificar una serie de datos en función a su especie, en este caso solo “Human” o humanos.
Es una opción también aplicar multiples filtros a un set de datos, en este caso vamos a separar a los personajes de StarWars por ser humanos y tener ojos azules
humanos = filter(starwars,species == "Human" & eye_color=="blue")
print(humanos)
## # A tibble: 12 x 13
## name height mass hair_color skin_color eye_color birth_year gender
## <chr> <int> <dbl> <chr> <chr> <chr> <dbl> <chr>
## 1 Luke~ 172 77 blond fair blue 19 male
## 2 Owen~ 178 120 brown, gr~ light blue 52 male
## 3 Beru~ 165 75 brown light blue 47 female
## 4 Anak~ 188 84 blond fair blue 41.9 male
## 5 Wilh~ 180 NA auburn, g~ fair blue 64 male
## 6 Jek ~ 180 110 brown fair blue NA male
## 7 Lobot 175 79 none light blue 37 male
## 8 Mon ~ 150 NA auburn fair blue 48 female
## 9 Qui-~ 193 89 brown fair blue 92 male
## 10 Fini~ 170 NA blond fair blue 91 male
## 11 Clie~ 183 NA brown fair blue 82 male
## 12 Joca~ 167 NA white fair blue NA female
## # ... with 5 more variables: homeworld <chr>, species <chr>, films <list>,
## # vehicles <list>, starships <list>
Cabe destacar que este tipo de evaluaciones sobre sets de datos pueden hacerse multiples como en cualquier otro lenguaje de programación, utilizando sentencias como el and, or, >=, ==, !, xor, between(), near()