Chapitre 6. Programmation en R
241
soient ´ etendus aux listes (list) en leur affectant un attribut dim jouant le mˆ eme
rˆ ole que pr´ ec´ edemment pour les vecteurs. En lisant la documentation relative
aux instructions matrix() et array(), nous pouvons constater que c’est en
effet le cas puiqu’il est possible de fournir en premier param` etre d’appel de
ces fonctions une liste (list) ` a la place d’un vecteur (comme pr´ ec´ edemment).
Appliquons-le alors sur une matrice bien que cela soit aussi r´ ealisable pour
un tableau d` es lors que le nombre d’´ el´ ements de la liste est en accord avec sa
dimension.
> lmat <- matrix(list(7,1:2,1:3,1:4,1:5,1:6),nrow=2)
> lmat
# Renvoie la structure et non le contenu trop
# difficile à afficher.
[,1]
[,2]
[,3]
[1,] 7
Integer,3 Integer,5
[2,] Integer,2 Integer,4 Integer,6
> dim(lmat)
[1] 2 3
> is.list(lmat)
[1] TRUE
> lmat[1,2] # Extraction de l’élément en ligne 1 et colonne 2.
[[1]]
[1] 1 2 3
> lmat[,-2] # Extraction de la sous-matrice sans la deuxième
# colonne.
[,1]
[,2]
[1,] 7
Integer,5
[2,] Integer,2 Integer,6
> dim(lmat) <- NULL
> lmat
# Ce n’est plus qu’une liste.
[[1]]
[1] 7
[[2]]
[1] 1 2
[[3]]
[1] 1 2 3
[[4]]
[1] 1 2 3 4
[[5]]
[1] 1 2 3 4 5
[[6]]
[1] 1 2 3 4 5 6
> is.list(lmat)
[1] TRUE
6.4.1.3 Attributs names et dimnames
L’attribut names joue un rˆ ole essentiel dans le nommage des ´ el´ ements d’une
liste.
241
soient ´ etendus aux listes (list) en leur affectant un attribut dim jouant le mˆ eme
rˆ ole que pr´ ec´ edemment pour les vecteurs. En lisant la documentation relative
aux instructions matrix() et array(), nous pouvons constater que c’est en
effet le cas puiqu’il est possible de fournir en premier param` etre d’appel de
ces fonctions une liste (list) ` a la place d’un vecteur (comme pr´ ec´ edemment).
Appliquons-le alors sur une matrice bien que cela soit aussi r´ ealisable pour
un tableau d` es lors que le nombre d’´ el´ ements de la liste est en accord avec sa
dimension.
> lmat <- matrix(list(7,1:2,1:3,1:4,1:5,1:6),nrow=2)
> lmat
# Renvoie la structure et non le contenu trop
# difficile à afficher.
[,1]
[,2]
[,3]
[1,] 7
Integer,3 Integer,5
[2,] Integer,2 Integer,4 Integer,6
> dim(lmat)
[1] 2 3
> is.list(lmat)
[1] TRUE
> lmat[1,2] # Extraction de l’élément en ligne 1 et colonne 2.
[[1]]
[1] 1 2 3
> lmat[,-2] # Extraction de la sous-matrice sans la deuxième
# colonne.
[,1]
[,2]
[1,] 7
Integer,5
[2,] Integer,2 Integer,6
> dim(lmat) <- NULL
> lmat
# Ce n’est plus qu’une liste.
[[1]]
[1] 7
[[2]]
[1] 1 2
[[3]]
[1] 1 2 3
[[4]]
[1] 1 2 3 4
[[5]]
[1] 1 2 3 4 5
[[6]]
[1] 1 2 3 4 5 6
> is.list(lmat)
[1] TRUE
6.4.1.3 Attributs names et dimnames
L’attribut names joue un rˆ ole essentiel dans le nommage des ´ el´ ements d’une
liste.
