Chapitre 3. Manipulation de donn´ ees, fonctions
109
3.1- L’extraction par indice : X[indl,inc], o` u indl d´ esigne le vecteur des
indices des lignes et indc d´ esigne le vecteur des indices des colonnes ` a
extraire. L’omission de indl (respectivement de indc) signifie que l’on
s´ electionne toutes les lignes (respectivement les colonnes). Notons ´ egalement que l’on peut faire pr´ ec´ eder indl et/ou indc du signe moins (-)
pour indiquer plutˆ ot les ´ el´ ements ` a ne pas extraire.
3.2- L’extraction par masque logique : X[masque], o` u masque est une matrice
de logiques TRUE/FALSE de la mˆ eme taille que X indiquant quels ´ el´ ements
extraire.
Voici quelques exemples utilisant la premi` ere approche :
> Mat <- matrix(1:12,nrow=4,ncol=3,byrow=TRUE)
> Mat
[,1] [,2] [,3]
[1,]
1
2
3
[2,]
4
5
6
[3,]
7
8
9
[4,]
10
11
12
> Mat[2,3]
# Extraction de l’élément à l’intersection
# ligne 2/colonne 3.
[1] 6
> Mat[,1]
# On prend toutes les lignes, et seulement la
# colonne 1.
[1] 1 4 7 10
> Mat[c(1,4),]
# On prend toutes les colonnes, et les lignes 1
# et 4.
[,1] [,2] [,3]
[1,]
1
2
3
[2,]
10
11
12
> Mat[3,-c(1,3)] # On prend la ligne 3 et la colonne 2.
[1] 8
Voil` a maintenant un exemple utilisant un masque logique :
> MatLogique <- matrix(c(TRUE,FALSE),nrow=4,ncol=3)
> MatLogique
# Possède la même taille que Mat.
[,1] [,2] [,3]
[1,] TRUE TRUE TRUE
[2,] FALSE FALSE FALSE
[3,] TRUE TRUE TRUE
[4,] FALSE FALSE FALSE
> Mat[MatLogique] # Assurez-vous de comprendre cette
# instruction.
[1] 1 7 2 8 3 9
Précédent

- 143/701

Suivant