Chapitre 3. Manipulation de donn´ ees, fonctions
107
> x <- 1:5
> y <- c(-1,2,-3,4,-2)
> x[y>0]
[1] 2 4
Il vous faut apprendre `
a utiliser le plus souvent possible ce type de
construction, dit par masque logique, qui poss` ede le double avantage de
produire un code facile ` a lire et qui est ex´ ecut´ e tr` es rapidement par R.
Notons ´ egalement l’existence des fonctions which(), which.min() et
which.max() qui rendent souvent de pr´ ecieux services.
> masque <- c(TRUE,FALSE,TRUE,NA,FALSE,FALSE,TRUE)
> which(masque) # Renvoie les indices des valeurs TRUE.
[1] 1 3 7
> x <- c(0:4,0:5,11)
> which.min(x) # Renvoie l’indice de la plus petite valeur.
[1] 1
> which.max(x) # Renvoie l’indice de la plus grande valeur.
[1] 12
Attention
Il est important de bien signaler le fait que R ne g` ere pas l’indice 0,
contrairement ` a certains autres langages de programmation.
• Remplacement
Le remplacement d’´ el´ ements dans un vecteur proc` ede de mani` ere similaire
` a celle de l’extraction. Pour cela, il suffit de s´ electionner les ´ el´ ements voulus
comme si nous souhaitions les extraire, puis d’utiliser le symbole d’affectation
<- suivi des ´ el´ ements de remplacement. Bien entendu, vous devez sp´ ecifier le
mˆ eme nombre d’´ el´ ements de remplacement que ceux s´ electionn´ es.
Voyons tout de suite quelques exemples de ce principe.
> z
[1] 0 0 0 2 0
> z[c(1,5)] <- 1
> z
[1] 1 0 0 2 1
> z[which.max(z)] <- 0
> z
[1] 1 0 0 0 1
> z[z==0] <- 8 # Les z i tels que z i
Précédent

- 141/701

Suivant