Les listes permettent de regrouper des informations pouvant être hétérogènes.
etudiant = list(nom="Alfred", taille=1.85, notes=c(10,12,13))
print(etudiant)
On accède à chaque information par un nom ou par un numéro :
etudiant$nom # ou etudiant[[1]] ou etudiant[["nom"]]
etudiant$taille # ou etudiant[[2]]
etudiant$notes # ou etudiant[[3]]
etudiant$notes[2] # deuxieme note de l'etudiant
De nombreuses fonctions mathématiques ou statistiques renvoient les résultats sous forme de liste : la connaissance
de cette notion est donc importante si on ne veut afficher qu'une partie de
l'information ou faire de nouveaux calculs à partir des statistiques renvoyées.
# regression lineaire d'anglais en fonction de math
math = c(10,12,5,9,13)
anglais=c(12,14.5,6,10.5,15.5)
lm(anglais~math)
is.list( lm(anglais~math) ) # on verifie que c'est une liste
# affichage détaillé de la liste de resultats
names( lm(anglais~math) )
# donne les composants de la liste : coefficients, residuals...
lm(anglais~math)$coefficients
# uniquement les coefficients de la droite de regression
lm(anglais~math)$coefficients[2]
# le coefficient directeur de la droite
Une autre bonne raison de s'intéresser à ce concept est que les tableaux de données (dataframes)
sont aussi des listes : les notations utilisées ici s'appliquent donc aussi
aux tableaux de données...