Structures de données en R : Tableaux, Listes, Data Frames
Structures de données en R : Tableaux, Listes, Data Frames
MODULE 2
21
Tableaux et Matrices
• Un tableau est une structure qui contient des données du même type
(Caractères, Chaînes de caractères, Nombres).
• Un tableau peut être multidimensionnel (lignes et colonnes multiples).
• Pour créer un tableau il faut commencer par créer un vecteur:
movies <- c ("Akira", "Toy Story" , "Room" , "The Wave", "Whiplash",
"Star Wars", "The Ring" , "The Artist", "Jumanji")
TABLEAUX ET MATRICES 22
Tableaux
[, 1] [, 2] [, 3]
[1,] "Akira" "Whiplash" "Jumanji"
[2,] "Toy Story" "Star Wars" "Akira"
[3,] "Room" "The Ring" "Toy Story"
[4,] "The Wave" "The Artist" "Room"
TABLEAUX ET MATRICES 23
Tableaux
[, 1] [, 2] [, 3]
[1,] "Akira" "Whiplash" "Jumanji"
[2,] "Toy Story" "Star Wars" "Akira"
[3,] "Room" "The Ring" "Toy Story"
[4,] "The Wave" "The Artist" "Room"
TABLEAUX ET MATRICES 24
Matrices
• La structure d’une matrice est similaire à celle d’un tableau sauf qu’une
matrice ne peut être que bidimensionnelle.
• On utilise la fonction matrix en passant trois arguments: le premier est
le vecteur contenant les éléments de la matrice, le 2ème est le nombre
de lignes et le 3ème est le nombre de colonnes.
movies <- c ("Akira", "Toy Story" , "Room" , "The Wave", "Whiplash",
"Star Wars", "The Ring" , "The Artist", "Jumanji")
movies_matrix <- matrix (movies, nrow = 3, ncol = 3)
TABLEAUX ET MATRICES 25
Matrices
• Pour organiser une matrice par lignes, il faut ajouter l’argument byrow à
l’appel de la fonction matrix et lui affecter la valeur TRUE
[, 1] [, 2] [, 3]
[1,] "Akira" "Toy Story" "Room"
[2,] "The Wave" "Whiplash" "Star Wars"
[3,] "The Ring" "The Artist" "Jumanji"
TABLEAUX ET MATRICES 26
Matrices
[, 1] [, 2]
[1,] "Toy Story" "Whiplash"
[2,] "Room" "Star Wars"
TABLEAUX ET MATRICES 27
Listes
• Les Listes en sont des collections d’objets tout comme les vecteurs.
• Contrairement aux vecteurs, les éléments dans une liste peuvent être
de types différents.
• Considérons le code suivant :
movie <- list ("Toy Story", 1995, c ("Animation", "Adventure", "Comedy"))
[[1]]
[1] "Toy Story"
[[2]]
[1] 1995
[[3]]
[1] "Animation", "Adventure", "Comedy"
On utilise la fonction list et on spécifie les élément que l’on veut inclure.
• Notez que le 1er élément est une chaîne de caractère, le 2ème est une
valeur numérique et le 3ème est un vecteur.
LISTES 28
Accès aux élément d’une liste
[[2]]
[1] "Animation", "Adventure", "Comedy"
LISTES 29
Listes nommées
$year
[1] 1995
$genre
[1] "Animation", "Adventure", "Comedy"
• Cela permet d’améliorer l’organisation des listes et rend les choses plus
lisibles
LISTES 30
Accès aux éléments des listes nommées
• Pour accéder aux aux éléments d’une liste par leurs nomsn on utilise le
symbole $ suivit du nom de l’élément souhaité.
movie$genre
[1] "Animation", "Adventure", "Comedy"
LISTES 31
Ajout d’éléments à une liste
LISTES 32
Modification de la valeur d’un élément
• Pour modifier la valeur d’un élément dans une liste, utiliser l’opérateur
d’affectation de variables <- pour modifier un élément existant
movie["age"] <- 6 # modifier le contenu de l’élément age
$name
[1] "Toy Story"
$year
[1] 1995
$genre
[1] "Animation", "Adventure", "Comedy"
$age
[1] 6
LISTES 33
Suppression d’éléments d’une liste
LISTES 34
Data Frames
DATA FRAMES 35
Création d’un data frame
DATA FRAMES 36
Accès au data frames
DATA FRAMES 37
Structure d’un data frame
DATA FRAMES 38
Head and Tail
• Les fonction head et tail peuvent être utilisées pour voir le début et la fin
d’un data frame.
• La fonction head affiche les 6 premiers éléments
• La fonction tail montre les 6 derniers éléments
head(movies) tail(movies)
name year name year
1 Toy Story 1995 3 The Breakfast Club 1985
2 Akira 1998 4 The Artist 2011
3 The Breakfast Club 1985 5 Modern Times 1936
4 The Artist 2011 6 Fight Club 1999
5 Modern Times 1936 7 City of God 2002
6 Fight Club 1999 8 The Untouchables 1987
DATA FRAMES 39
Insertion de colonnes
DATA FRAMES 40
Insertion de lignes
• Pour insérer une nouvelle ligne, nous avons besoin d’utiliser la fonction
rbind. Les arguments sont le data frame lui même ainsi qu’un vecteur
les valeurs de toutes les colonnes.
movies <- rbind (movies, c(name="Dr. Strangelove", year=1964, length=94))
DATA FRAMES 42
Suppression de colonnes
• Pour supprimer une colonne d’un data frame, il suffit de lui affecter la
valeur NULL.
movies <- movies ["length"] = NULL
name year
1 Toy Story 1995
2 Akira 1998
3 The Breakfast Club 1985
4 The Artist 2011
5 Modern Times 1936
6 Fight Club 1999
7 City of God 2002
8 The Untouchables 1987
DATA FRAMES 43