Chapitre 6. Programmation en R
239
[,1] [,2] [,3] [,4] [,5] [,6]
[1,]
1
3
5
7
9
11
[2,]
2
4
6
8
10
12
Dans l’exemple ci-dessus, en changeant l’attribut dim, nous avons pu modifier la forme de la matrice. Puisque, comme nous l’avons d´ ej` a pr´ ecis´ e, la
manipulation des attributs se veut la plus transparente possible pour l’utilisateur, il est fort ` a parier qu’il existe pour l’utilisateur des fonctions analogues
avec des noms plus explicites. C’est bien entendu le cas pour notre exemple
grˆ ace aux fonctions dim() et "dim<-"() :
> dim(mat)
[1] 2 6
> dim(mat) <- c(1,12) # Changement de forme : 1 ligne et 12
# colonnes.
> mat
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11]
[1,]
1
2
3
4
5
6
7
8
9
10
11
[,12]
[1,]
12
> dim(mat) <- c(2,6) # Retour à la forme initiale.
Pour vraiment comprendre comment R repr´ esente les objets comme les matrices (matrix) et les tableaux (array), analysons les sorties suivantes :
> mat
[,1] [,2] [,3] [,4] [,5] [,6]
[1,]
1
3
5
7
9
11
[2,]
2
4
6
8
10
12
> class(mat)
[1] "matrix"
> dim(mat) <- NULL # Ou attributes(mat)$dim<-NULL ou
# attributes(mat) <- NULL.
> mat
[1] 1 2 3 4 5 6 7 8 9 10 11 12
> is.vector(mat)
[1] TRUE
> class(mat)
[1] "integer"
> dim(mat) <- c(2,2,3)
> mat
, , 1
[,1] [,2]
[1,]
1
3
[2,]
2
4
, , 2
[,1] [,2]
[1,]
5
7
[2,]
6
8
Précédent

- 272/701

Suivant