Chapitre 6. Programmation en R
243
A B C
1 2 3
Pour des objets ` a plusieurs indices, tels les matrices (matrix) et plus g´ en´ eralement les tableaux (array), la gestion des noms d’indice se fait en interne en
modifiant l’attribut dimnames. Nous illustrons rapidement cela sur un exemple.
> mat <- matrix(1:6,nr=2)
> mat
[,1] [,2] [,3]
[1,]
1
3
5
[2,]
2
4
6
> attributes(mat) # Modifiable comme un attribut.
$dim
[1] 2 3
> rownames(mat)
# Noms de lignes.
NULL
> colnames(mat)
# Noms de colonnes.
NULL
> dimnames(mat)
# Noms des lignes et colonnes sous forme de
# liste.
NULL
> colnames(mat) <- paste("V",1:3,sep="")
> rownames(mat) <- c("a","b")
> mat
V1 V2 V3
a 1 3 5
b 2 4 6
Pour un objet tableau ` a plus de deux indices, les fonctions rownames et
colnames n’ont plus de sens et il faut soit directement modifier l’attribut
dimnames, soit utiliser la fonction "dimnames<-"().
Remarque
Les matrices de donn´ ees (data.frame) ont un statut un peu `
a part.
Elles sont d´ efinies comme des listes et plus souvent manipul´ ees comme des
matrices. Les attributs g´ erant les affichages des lignes et des colonnes sont
row.names et names (et non col.names) :
> df <- data.frame(a=1,b=1:2)
> df
a b
1 1 1
2 1 2
> attributes(df)
$names
[1] "a" "b"
$row.names
Précédent

- 276/701

Suivant