Chapitre 3. Manipulation de donn´ ees, fonctions
111
Prise en main
Ï
Essayez d’intercaler de fa¸ con automatique le vecteur c(0,2,3,4) dans
le vecteur c(1,0,0,0) afin d’obtenir le vecteur c(1,0,0,2,0,3,0,4)
(indice : utilisez les fonctions cbind(), t() et as.vector()).
Comme dans le cas vectoriel, la fonction which() permet de r´ ecup´ erer les
indices des ´ el´ ements de la matrice qui v´ erifient une certaine condition. Voyons
cela sur un exemple.
> m <- matrix(c(1,2,3,1,2,3,2,1,3),3,3)
> m
[,1] [,2] [,3]
[1,]
1
1
2
[2,]
2
2
1
[3,]
3
3
3
> which(m == 1)
# m est considérée comme un empilement
# de ses colonnes.
[1] 1 4 8
> which(m == 1,arr.ind=TRUE) # Récupération des indices sous la
# forme de couples.
row col
[1,]
1
1
[2,]
1
2
[3,]
2
3
• Insertion
L’insertion d’´ el´ ements proc` ede de la mˆ eme mani` ere que dans le cas vectoriel.
Il faut utiliser le symbole d’affectation <- pour remplacer des ´ el´ ements, s´ electionn´ es soit au moyen de leurs indices, soit par masque logique, par d’autres
´ el´ ements.
> m
[,1] [,2] [,3]
[1,]
1
1
2
[2,]
2
2
1
[3,]
3
3
3
> m[m!=2] <- 0
> m
[,1] [,2] [,3]
[1,]
0
0
2
[2,]
2
2
0
[3,]
0
0
0
> Mat <- Mat[-4,] ; Mat
Précédent

- 145/701

Suivant