Structures de Données dans R
Ce matériel couvre les structures de données fondamentales dans le langage R, destinées aux étudiants et chercheurs souhaitant manipuler efficacement des données. Il présente les tableaux, matrices, listes et data frames, en expliquant leur création, accès, modification et suppression d’éléments.
D'après le document Structures de Données dans R
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Programming in R · PDF · 23 pages · 1995
Afficher l'aperçu du document
Ce matériel couvre les structures de données fondamentales dans le langage R, destinées aux étudiants et chercheurs souhaitant manipuler efficacement des données. Il présente les tableaux, matrices, listes et data frames, en expliquant leur création, accès, modification et suppression d’éléments.
Tableaux et Matrices
Un tableau est une structure contenant des données du même type (caractères, chaînes de caractères, nombres) et peut être multidimensionnel (plusieurs lignes et colonnes). Pour créer un tableau, on commence par créer un vecteur :
movies <- c("Akira", "Toy Story", "Room", "The Wave", "Whiplash", "Star Wars", "The Ring", "The Artist", "Jumanji")
Ensuite, la fonction array permet de créer un tableau en spécifiant le vecteur et ses dimensions :
movies_array <- array(movies, dim = c(4, 3))
Le tableau résultant contient 4 lignes et 3 colonnes. Comme le vecteur d’origine ne contient que 9 éléments mais que le tableau en contient 12, les éléments se répètent à partir de la 3ème colonne et 2ème ligne.
Exemple d’accès à un élément : pour accéder à "Star Wars" situé à la 2ème ligne et 2ème colonne :
movies_array[2, 2]
# [1] "Star Wars"
On peut extraire toute une ligne en spécifiant l’indice de la ligne et en laissant vide l’indice de la colonne :
movies_array[1, ]
# [1] "Akira" "Whiplash" "Jumanji"
De même, pour extraire une colonne entière :
movies_array[, 2]
# [1] "Whiplash" "Star Wars" "The Ring" "The Artist"
Matrices
Une matrice est une structure similaire à un tableau mais uniquement bidimensionnelle. On crée une matrice avec la fonction matrix en fournissant un vecteur, le nombre de lignes et de colonnes :
movies_matrix <- matrix(movies, nrow = 3, ncol = 3)
Par défaut, la matrice est remplie par colonnes :
| Colonne 1 | Colonne 2 | Colonne 3 | |
|---|---|---|---|
| Ligne 1 | Akira | The Wave | The Ring |
| Ligne 2 | Toy Story | Whiplash | The Artist |
| Ligne 3 | Room | Star Wars | Jumanji |
Pour remplir la matrice par lignes, on ajoute l’argument byrow = TRUE :
movies_matrix <- matrix(movies, nrow = 3, ncol = 3, byrow = TRUE)
Exemple d’extraction d’un sous-ensemble : lignes 2 et 3, colonnes 1 et 2 :
movies_matrix[2:3, 1:2]
# [,1] [,2]
# [1,] "Toy Story" "Whiplash"
# [2,] "Room" "Star Wars"
Listes
Les listes sont des collections d’objets, similaires aux vecteurs, mais leurs éléments peuvent être de types différents.
Exemple de création d’une liste :
movie <- list("Toy Story", 1995, c("Animation", "Adventure", "Comedy"))
Le premier élément est une chaîne de caractères, le deuxième un nombre, et le troisième un vecteur de chaînes.
Accès aux éléments d’une liste
Pour accéder à un élément par son indice :
movie[2]
# [[1]]
# [1] 1995
Pour accéder à une séquence d’éléments :
movie[2:3]
# [[1]]
# [1] 1995
# [[2]]
# [1] "Animation" "Adventure" "Comedy"
Listes nommées
On peut associer un nom à chaque élément pour une meilleure organisation :
movie <- list(name = "Toy Story",
year = 1995,
genre = c("Animation", "Adventure", "Comedy"))
Accès aux éléments nommés avec le symbole $ :
movie$genre
# [1] "Animation" "Adventure" "Comedy"
Ou en utilisant le nom entre crochets :
movie["genre"]
# $genre
# [1] "Animation" "Adventure" "Comedy"
Ajout, modification et suppression d’éléments dans une liste
Ajouter un élément :
movie["age"] <- 5Modifier un élément existant :
movie["age"] <- 6
Supprimer un élément :
movie["age"] <- NULL
Data Frames
Un data frame est une structure contenant des informations corrélées, idéale pour stocker des données tabulaires comme des titres de films et leurs années de sortie.
Exemple de création d’un data frame :
movies <- data.frame(
name = c("Toy Story", "Akira", "The Breakfast Club", "The Artist",
"Modern Times", "Fight Club", "City of God", "The Untouchables"),
year = c(1995, 1998, 1985, 2011, 1936, 1999, 2002, 1987),
stringsAsFactors = FALSE
)
Accès aux données dans un data frame
Accéder à une colonne par son nom :
movies$name
# [1] "Toy Story" "Akira" "The Breakfast Club" "The Artist" "Modern Times" "Fight Club" "City of God" "The Untouchables"
Accéder à une colonne par son numéro :
movies[1]
# Affiche la première colonne (name)
Accéder à un élément individuel :
movies[1, 2]
# [1] 1995
Structure d’un data frame
Pour obtenir des informations sur la structure :
str(movies)
# 'data.frame': 8 obs. of 2 variables:
# $ name: chr "Toy Story" "Akira" "The Breakfast Club" "The Artist" ...
# $ year: num 1995 1998 1985 2011 1936 ...
Fonctions head et tail
Voir les premiers éléments :
head(movies)
# Affiche les 6 premières lignes du data frameVoir les derniers éléments :
tail(movies)
# Affiche les 6 dernières lignes du data frame
Insertion de colonnes
Ajouter une colonne :
movies['length'] <- c(81, 125, 97, 100, 87, 139, 130, 119)
Insertion de lignes
Ajouter une ligne avec rbind :
movies <- rbind(movies, c(name = "Dr. Strangelove", year = 1964, length = 94))
Suppression de lignes
Supprimer la 9ème ligne :
movies <- movies[-9, ]
Suppression de colonnes
Supprimer une colonne en lui affectant la valeur NULL :
movies["length"] <- NULL
Glossaire des termes clés
- Tableau : structure multidimensionnelle contenant des données du même type.
- Matrice : tableau bidimensionnel, créé avec la fonction
matrix. - Vecteur : structure unidimensionnelle contenant des données du même type.
- Liste : collection d’objets pouvant être de types différents.
- Liste nommée : liste dont chaque élément possède un nom pour un accès facilité.
- Data frame : structure tabulaire contenant des colonnes de types homogènes, utilisée pour des données corrélées.
- Fonction
array: crée un tableau multidimensionnel à partir d’un vecteur. - Fonction
matrix: crée une matrice bidimensionnelle à partir d’un vecteur. - Fonction
list: crée une liste d’objets. - Fonction
data.frame: crée un data frame à partir de vecteurs représentant des colonnes. - Fonction
str: affiche la structure d’un objet R. - Fonctions
headettail: affichent respectivement les premières et dernières lignes d’un data frame. - Opérateur
$: permet d’accéder aux éléments nommés d’une liste ou aux colonnes d’un data frame. - Fonction
rbind: ajoute une ou plusieurs lignes à un data frame.
Points clés à retenir
- Les tableaux et matrices contiennent des données homogènes, mais les tableaux peuvent être multidimensionnels tandis que les matrices sont strictement bidimensionnelles.
- Les listes permettent de stocker des éléments de types différents et peuvent être nommées pour un accès plus clair.
- Les data frames sont des structures tabulaires très utilisées, composées de colonnes homogènes mais pouvant contenir différents types entre colonnes.
- L’accès aux éléments dans ces structures se fait par indices ou par noms, selon la structure.
- Il est possible d’ajouter, modifier ou supprimer des éléments dans les listes et data frames avec des syntaxes simples.
Commentaires
Aucun commentaire pour le moment. Posez la première question.