Chapitre 3. Manipulation de donn´ ees, fonctions
125
lisation de nombres r´ eels (0 ´ etant le seul nombre qui sera converti en FALSE)
ou encore des chaˆ ınes de caract` eres "T" ou "TRUE" et "F" ou "FALSE". Notez
´ egalement que doit ˆ etre de longueur 1. Si ce n’est pas le cas, seule la
premi` ere composante de sera prise en compte et R affichera un message
d’avertissement.
Bien ´ evidemment, dans la pratique, sera souvent le r´ esultat d’op´ erations logiques ´ elabor´ ees faisant intervenir les op´ erateurs logiques que nous avons
d´ ecrits un peu plus haut. Voici un exemple d’utilisation de ces instructions.
Assurez-vous de bien le comprendre.
> if (TRUE) 1+1
[1] 2
> x <- 2
> y <- -3
> if (x <= y) {
+
z <- y-x
+
print("x plus petit que y")
+ } else {
+
z <- x-y
+
print("x plus grand que y")
+
z
+ }
[1] "x plus grand que y"
[1] 5
Attention
Notez que les blocs d’instructions multiples doivent ˆ etre d´ elimit´ es par
des accolades.
Astuce
La fonction ifelse() permet d’ex´ ecuter l’une ou l’autre de deux instructions appliqu´ ees ` a un vecteur suivant que les valeurs d’une condition
logique sont vraies ou fausses. Par exemple :
> x <- c(3:-2)
> sqrt(ifelse(x >= 0, x, NA))
[1] 1.732051 1.414214 1.000000 0.000000
NA
NA
• Op´ erateurs logiques ` a privil´ egier
Il est important de prendre garde ` a la bonne utilisation des op´ erateurs
logiques. Dans le contexte des instructions de condition, nous conseillons :
– d’utiliser x && y plutˆ ot que x & y ;
Précédent

- 159/701

Suivant