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 débutants souhaitant maîtriser la manipulation des données sous forme de tableaux, matrices, listes et data frames. Il présente les concepts clés, les méthodes de création, d’accès et de modification de ces structures.

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, Math · 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 débutants souhaitant maîtriser la manipulation des données sous forme de tableaux, matrices, listes et data frames. Il présente les concepts clés, les méthodes de création, d’accès et de modification de ces structures.

Tableaux et Matrices

Un tableau est une structure contenant des données du même type (caractères, chaînes de caractères, nombres). Il peut être multidimensionnel, avec 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, on utilise la fonction array en spécifiant le vecteur et un vecteur de 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, les éléments se répètent pour remplir les 12 cases du tableau.

Exemple d’accès à un élément :

movies_array[2, 2]
# [1] "Star Wars"

On peut extraire toute une ligne en laissant vide l’indice de la colonne :

movies_array[1, ]
# [1] "Akira" "Whiplash" "Jumanji"

Ou extraire toute une colonne en laissant vide l’indice de la ligne :

movies_array[, 2]
# [1] "Whiplash" "Star Wars" "The Ring" "The Artist"

Matrices

Une matrice est une structure similaire à un tableau mais toujours bidimensionnelle.

On crée une matrice avec la fonction matrix, en précisant le vecteur d’éléments, le nombre de lignes et le nombre de colonnes :

movies_matrix <- matrix(movies, nrow = 3, ncol = 3)

Par défaut, la matrice est organisée par colonnes :


[,1]       [,2]          [,3]
[1,] "Akira"    "The Wave"    "Toy Story"
[2,] "Whiplash" "The Ring"    "Whiplash"
[3,] "Star Wars" "The Artist" "Room"

Pour organiser la matrice par lignes, on ajoute l’argument byrow = TRUE :

movies_matrix <- matrix(movies, nrow = 3, ncol = 3, byrow = TRUE)

On peut accéder à des sous-ensembles de la matrice en utilisant des plages d’indices. Par exemple, pour extraire les lignes 2 et 3 ainsi que les 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 une valeur numérique, et le troisième un vecteur.

Accès aux éléments d’une liste

On accède à 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 nommer les éléments d’une liste pour une meilleure organisation :

movie <- list(name = "Toy Story",
              year = 1995,
              genre = c("Animation", "Adventure", "Comedy"))

Accès aux éléments par leur nom 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

Ajouter un élément :

movie["age"] <- 5

Modifier un élément :

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 avec différentes variables.

Exemple : un data frame contenant des titres de films et leur année de sortie.

Création d’un data frame

On utilise la fonction data.frame en passant des vecteurs pour chaque colonne :

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

On accède aux colonnes avec le signe $ :

movies$name
# [1] "Toy Story" "Akira" "The Breakfast Club" "The Artist" "Modern Times" "Fight Club" "City of God" "The Untouchables"

On peut aussi accéder à une colonne par son numéro :

movies[1]

Ou à un élément individuel en précisant la ligne et la colonne :

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 ...

Visualisation des données

Les fonctions head et tail affichent respectivement les premières et dernières lignes :

head(movies)
tail(movies)

Insertion de colonnes

Pour ajouter une colonne :

movies["length"] <- c(81, 125, 97, 100, 87, 139, 130, 119)

Insertion de lignes

Pour ajouter une ligne, on utilise rbind :

movies <- rbind(movies, c(name = "Dr. Strangelove", year = 1964, length = 94))

Suppression de lignes

Pour supprimer la ligne numéro n, on utilise :

movies <- movies[-9, ]

Suppression de colonnes

Pour supprimer une colonne, on lui affecte la valeur NULL :

movies["length"] <- NULL

Glossaire des termes clés

  • Tableau : Structure de données multidimensionnelle contenant des éléments du même type.
  • Matrice : Tableau bidimensionnel, créé avec la fonction matrix.
  • Vecteur : Structure unidimensionnelle contenant des éléments du même type.
  • Liste : Collection d’objets pouvant être de types différents.
  • Liste nommée : Liste dont chaque élément porte un nom pour faciliter l’accès.
  • Data frame : Structure tabulaire contenant des colonnes de types différents, utilisée pour stocker des données corrélées.
  • Fonction array() : Crée un tableau multidimensionnel à partir d’un vecteur et de dimensions.
  • Fonction matrix() : Crée une matrice à partir d’un vecteur, avec un nombre défini de lignes et colonnes.
  • Fonction list() : Crée une liste d’objets.
  • Fonction data.frame() : Crée un data frame à partir de vecteurs représentant les colonnes.
  • rbind() : Fonction pour ajouter une ligne à un data frame.
  • head() : Affiche les premières lignes d’un data frame.
  • tail() : Affiche les dernières lignes d’un data frame.

Points clés à retenir

  • Les tableaux et matrices stockent des données homogènes, mais les matrices sont toujours bidimensionnelles.
  • Les listes permettent de stocker des éléments hétérogènes et peuvent être nommées pour un accès plus clair.
  • Les data frames sont des structures tabulaires adaptées aux données corrélées, avec colonnes de types différents.
  • L’accès aux éléments dans ces structures se fait par indices ou 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