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.

Structures de Données dans R

Document source

Structures de Données dans R

Programming in R · PDF · 23 pages · 1995

Afficher l'aperçu du document

Consulter le document original →

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 1Colonne 2Colonne 3
Ligne 1AkiraThe WaveThe Ring
Ligne 2Toy StoryWhiplashThe Artist
Ligne 3RoomStar WarsJumanji

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"] <- 5

Modifier 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 frame

Voir 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 head et tail : 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.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions