242
Le logiciel R - Maˆ ıtriser le langage
> li <- list(1:3,letters[1:3])
> li
[[1]]
[1] 1 2 3
[[2]]
[1] "a" "b" "c"
> attributes(li)
NULL
> attributes(li)$names <- c("chiffres","lettres")
> li
$chiffres
[1] 1 2 3
$lettres
[1] "a" "b" "c"
La premi` ere et la quatri` eme instructions sont donc ´ equivalentes ` a la d´ eclaration suivante plus usuelle :
> li <- list(chiffres=1:3,lettres=letters[1:3]))
Cela est moins connu, car moins utile, mais cet attribut est aussi utilisable
pour tout type de vecteur.
> vect <- 1:3
> attr(vect,"names") <- letters[1:3]
> vect
a b c
1 2 3
> # Ou plus directement:
> vect2 <- c(a=1,b=2,c=3)
> vect2
a b c
1 2 3
Il n’est pas n´ ecessaire de manipuler directement l’attribut names. En effet,
son acc` es et son changement de valeur peuvent se faire de mani` ere plus explicite
comme suit :
> names(li)
[1] "chiffres" "lettres"
> names(li) <- c("chif","lett")
> li
$chif
[1] 1 2 3
$lett
[1] "a" "b" "c"
> names(vect)
[1] "a" "b" "c"
> names(vect) <- toupper(names(vect))
> vect
Précédent

- 275/701

Suivant