Funcion filter()

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.

Filtro multiple

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()