filter()

La función filter nos permite filtrar filas según una condición:

> filter(storms, wind >= 50)
Source: local data frame [3 x 4]

    storm  wind pressure       date
    (chr) (int)    (int)     (date)
1 Alberto   110     1007 2000-08-03
2 Allison    65     1005 1995-06-03
3  Arlene    50     1010 1999-06-11

Se pueden incluir varias condiciones en un mismo filtro:

> filter(storms, wind >= 50, storm %in% c("Alberto", "Alex", "Allison"))
Source: local data frame [2 x 4]

    storm  wind pressure       date
    (chr) (int)    (int)     (date)
1 Alberto   110     1007 2000-08-03
2 Allison    65     1005 1995-06-03

Las condiciones pueden ser expresiones logicas construidas mediante los operadores relacionales y lógicos:

?Comparison
< Menor que
> Mayor que
== Igual que
<= Menor o igual que
>= Mayor o igual que
!= Diferente que
%in% Pertenece al conjunto
is.na Es NA
!is.na No es NA
?base::Logic
& boolean and
\ boolean o
xor or inclusivo
! not
any cualquiera true
all todos verdaderos

Así por ejemplo, el siguiente ejemplo filtra aquellas filas con un wind >= 50 y pressure < 1010:

> filter(storms, wind>=50 & pressure<1010)
Source: local data frame [2 x 4]

    storm  wind pressure       date
    (chr) (int)    (int)     (date)
1 Alberto   110     1007 2000-08-03
2 Allison    65     1005 1995-06-03