library(tidyverse)
Pour sélectionner les lignes d’un tableau on utilise la fonction
filter
du package tidyverse
. Le package permet
également d’utiliser le pipe %>%
.
Utilisation du pipe : %>%
\[ f(a) <=> a \,\text{ %>% }\, f()\]
Exemple :
colnames(iris) # Nom des variables
est équivalent à
iris %>% colnames() # Nom des variables
On sélectionne les observations pour lesquelles la taille des sépales
est supérieure ou égale à 5. La table obtenue est affectée à l’objet
iris_selection
iris_selection <- iris %>% filter(Sepal.Length>=5)
head(iris_selection)
## # A tibble: 6 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <chr>
## 1 5.1 3.5 1.4 0.2 setosa
## 2 5 3.6 1.4 0.2 setosa
## 3 5.4 3.9 1.7 0.4 setosa
## 4 5 3.4 1.5 0.2 setosa
## 5 5.4 3.7 1.5 0.2 setosa
## 6 5.8 4 1.2 0.2 setosa
On sélectionne les observations de l’espèce virginica. La table
obtenue est affectée à l’objet iris_selection
.
NB1 : on met des guillemets pour désigner du texte.
NB2 : quand on teste une égalité de condition, il faut utiliser le
double égal ==
, c’est l’erreur la plus courante chez les
jeunes utilisateurs de R.
iris_selection <- iris %>% filter(Species=="virginica")
head(iris_selection)
## # A tibble: 6 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <chr>
## 1 6.3 3.3 6 2.5 virginica
## 2 5.8 2.7 5.1 1.9 virginica
## 3 7.1 3 5.9 2.1 virginica
## 4 6.3 2.9 5.6 1.8 virginica
## 5 6.5 3 5.8 2.2 virginica
## 6 7.6 3 6.6 2.1 virginica
On sélectionne les observations de l’espèce setosa si la largeur des
sépales est supérieure à 3 ainsi que l’espèce versicolor. La table
obtenue est affectée à l’objet iris_selection
.
NB : liste d’opérateurs logique
Opérateurs dans R | Def |
---|---|
& | ET |
| | OU |
== | EGAL |
> | SUPERIEUR |
>= | SUPERIEUR ou EGAL |
< | INFERIEUR |
<= | INFERIEUR ou EGAL |
is.na() | EST MANQUANT |
! | DIFFERENT DE ≠ |
iris_selection <- iris %>% filter((Species=="setosa" & Sepal.Width>3) | Species=="versicolor")
head(iris_selection)
## # A tibble: 6 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <chr>
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.7 3.2 1.3 0.2 setosa
## 3 4.6 3.1 1.5 0.2 setosa
## 4 5 3.6 1.4 0.2 setosa
## 5 5.4 3.9 1.7 0.4 setosa
## 6 4.6 3.4 1.4 0.3 setosa
On sélectionne les observations de l’espèce setosa. Puis on
selectionnerles observations pour lesquelles la largeur des sépales est
supérieure à 3. La table obtenue est affectée à l’objet
iris_selection
.
iris_selection <- iris %>%
filter(Species=="setosa") %>%
filter(Sepal.Width>3)
head(iris_selection)
## # A tibble: 6 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <chr>
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.7 3.2 1.3 0.2 setosa
## 3 4.6 3.1 1.5 0.2 setosa
## 4 5 3.6 1.4 0.2 setosa
## 5 5.4 3.9 1.7 0.4 setosa
## 6 4.6 3.4 1.4 0.3 setosa