238
Le logiciel R - Maˆ ıtriser le langage
´ equivalence entre la manipulation de cet attribut et les deux fonctions d’utilit´ e
class() et "class<-"().
> form <- y∼x
> attributes(form)
$class
[1] "formula"
$.Environment
> class(form)
[1] "formula"
> obj <- 1:10
> attr(obj,"class") # Pas d’attribut class.
NULL
> class(obj)
# Et pourtant!
[1] "integer"
> attr(obj,"class") <- "LaClasse" # Équivalent à class(obj) <# "LaClasse".
> class(obj)
[1] "LaClasse"
Il ne reste plus rien ` a dire sur cet attribut mˆ eme s’il joue un rˆ ole central
dans le m´ ecanisme de programmation orient´ ee objet du R.
6.4.1.2 Attribut dim
L’attribut dim joue un rˆ ole primordial dans le comportement des objets
matrices (matrix) et tableaux (array). Prenons tout d’abord l’exemple d’une
matrice :
> mat <- matrix(1:12,nrow=2)
> mat
[,1] [,2] [,3] [,4] [,5] [,6]
[1,]
1
3
5
7
9
11
[2,]
2
4
6
8
10
12
> attr(mat,"dim")
[1] 2 6
> attributes(mat)
$dim
[1] 2 6
> attr(mat,"dim") <- c(3,4) # Changement de forme : 3 lignes et
# 4 colonnes.
> mat
[,1] [,2] [,3] [,4]
[1,]
1
4
7
10
[2,]
2
5
8
11
[3,]
3
6
9
12
> attributes(mat)$dim <- c(2,6) # Retour à la forme initiale.
> mat
Le logiciel R - Maˆ ıtriser le langage
´ equivalence entre la manipulation de cet attribut et les deux fonctions d’utilit´ e
class() et "class<-"().
> form <- y∼x
> attributes(form)
$class
[1] "formula"
$.Environment
> class(form)
[1] "formula"
> obj <- 1:10
> attr(obj,"class") # Pas d’attribut class.
NULL
> class(obj)
# Et pourtant!
[1] "integer"
> attr(obj,"class") <- "LaClasse" # Équivalent à class(obj) <# "LaClasse".
> class(obj)
[1] "LaClasse"
Il ne reste plus rien ` a dire sur cet attribut mˆ eme s’il joue un rˆ ole central
dans le m´ ecanisme de programmation orient´ ee objet du R.
6.4.1.2 Attribut dim
L’attribut dim joue un rˆ ole primordial dans le comportement des objets
matrices (matrix) et tableaux (array). Prenons tout d’abord l’exemple d’une
matrice :
> mat <- matrix(1:12,nrow=2)
> mat
[,1] [,2] [,3] [,4] [,5] [,6]
[1,]
1
3
5
7
9
11
[2,]
2
4
6
8
10
12
> attr(mat,"dim")
[1] 2 6
> attributes(mat)
$dim
[1] 2 6
> attr(mat,"dim") <- c(3,4) # Changement de forme : 3 lignes et
# 4 colonnes.
> mat
[,1] [,2] [,3] [,4]
[1,]
1
4
7
10
[2,]
2
5
8
11
[3,]
3
6
9
12
> attributes(mat)$dim <- c(2,6) # Retour à la forme initiale.
> mat
