En statistique, les données constituent le point de départ de toute analyse. Il est en effet très courant d’avoir à sélectionner une partie de nos données, soit en sélectionnant manuellement un sous-échantillon (par exemple les 30 premières lignes), soit selon une condition donnée (par exemple uniquement les femmes, ou les personnes de moins de 25 ans, etc.). Il est donc obligatoire de maîtriser les opérations de sélection simples que nous présentons ici.
Principes de sélection
Il y a deux grands principes dans la sélection d’éléments d’un objet R :
la sélection par position : il faut indiquer un ou plusieurs vecteurs de positions (ou d’indices), des éléments à sélectionner ;
la sélection par condition : il faut indiquer une condition (qui pourra être construite via différents opérateurs de comparaison et des opérateurs logiques) et ne seront sélectionnés que les éléments satisfaisant cette condition.
Dans tous les cas, la sélection s’opère avec l’opérateur de sélection [ ]
.
La sélection par condition
Nous reviendrons un peu plus en détail dans les chapitres suivants sur la sélection par position, mais pour celle par condition, vous allez avoir besoin d’utiliser des opérateurs de comparaison pour construire vos conditions.
Comme le nom le suggère, les opérateurs de comparaison sont utilisés pour comparer deux valeurs. Il y en a six principaux :
==
égal à (deux valeurs sont exactement pareilles)!=
différent de<
inférieur à<=
inférieur ou égal>
supérieur à>=
supérieur ou égal
Voici quelques exemples avec des valeurs numériques :
2 == 2 # -> TRUE
2 == 3 # -> FALSE
4 != 4 # -> FALSE
4!= 5 # -> TRUE
1 < 2 # -> TRUE
1 < 1 # -> FALSE
1 <= 1 # -> TRUE
3 > 4 # -> FALSE
5 > 4 # -> TRUE
5 >= 4 # -> TRUE
Et à présent un exemple simple avec un vecteur :
x <- -2:5
x > 0
# [1] FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE
On voit bien que le résultat est un vecteur de booléen, indiquant pour chaque élément si la condition est vraie ou non.
Parfois, vous allez avoir besoin de conditions plus élaborées, ou la condition va être le résultat de la combinaison de plusieurs expressions. C’est là qu’interviennent les opérateurs logiques.
Ces opérateurs vont vous permettre de mixer plusieurs valeurs booléennes : des valeurs booléennes spécifiques ou des résultats d’expression. Il y en a 3 :
&
: l’opérateur ET.
Le résultat final est vrai seulement lorsque toutes les conditions sont vraies. Par exemple : le résultat decondition1 & condition2
sera à TRUE seulement sicondition1
est vraie ETcondition2
est également vraie.|
: l’opérateur OU.
Le résultat final est vrai lorsque au moins une des conditions est vraie. Par exemple : le résultat decondition1 | condition2
sera à TRUE sicondition1
est vraie OUcondition2
est vraie.!
: l’opérateur N’EST PAS.
Cela inverse simplement le résultat de la condition donnée. Par exemple, le résultat de!(condition)
est vrai lorsquecondition
est faux.
Quelques exemples d’utilisation de ces opérateurs :
TRUE & TRUE # TRUE
TRUE & FALSE # FALSE
FALSE & FALSE # FALSE
TRUE | FALSE # TRUE
TRUE | TRUE # TRUE
FALSE | FALSE # FALSE
!TRUE # FALSE
!FALSE # TRUE
Voyons à présent comment utiliser cela sur les objets que nous savons créer.
En résumé
Il existe deux façons de sélectionner des éléments au sein d’un objet en R : soit via une sélection par position (ou indice), soit via une sélection par condition.
Les conditions peuvent être construites en utilisant des opérateurs de comparaisons et/ou des opérateurs logiques.
Maintenant que les différents principes de sélection sont claires, nous allons voir comment les mettre en œuvre avec des vecteurs !