Leçons du module (1/2)
Les Data Frames
Contrairement aux matrices, qui ne peuvent contenir que des éléments d'un seul type, les Data Frames représentent la structure de données tabulaires la plus utilisée en R pour analyser des données réelles.
Un Data Frame est un tableau dans lequel chaque colonne peut contenir des données de type différent (ex. une colonne numérique, une textuelle et une logique), mais toutes les colonnes doivent avoir la même longueur.
Créer un Data Frame
Pour créer un Data Frame, on utilise la fonction data.frame(), en définissant les noms des colonnes et en leur attribuant des vecteurs :
# Création d'un exemple de data frame
students <- data.frame(
name = c("Alice", "Bob", "Charlie"),
grade = c(28, 24, 30),
passed = c(TRUE, TRUE, TRUE)
)
print(students)
Accéder aux Colonnes et Lignes
Il existe plusieurs manières d'extraire et de manipuler les données d'un Data Frame :
- Utilisation de l'opérateur dollar
$: Permet d'extraire une seule colonne sous forme de vecteur.Codegrades <- students$grade # grades sera le vecteur c(28, 24, 30) - Utilisation des crochets
[ligne, colonne]: Semblable aux matrices.Code# Premier étudiant (première ligne) first_student <- students[1, ]
Filtrer les Données
L'un des points forts de R est sa capacité à filtrer les enregistrements en fonction de conditions logiques :
# Nous sélectionnons uniquement les étudiants ayant une note supérieure à 25
good_students <- students[students$grade > 25, ]
print(good_students)
Dimensions et Modification de Data Frames
Pour connaître les dimensions d'un Data Frame (le nombre de lignes et de colonnes), nous pouvons utiliser la fonction dim() :
# Renvoie un vecteur à deux éléments : c(lignes, colonnes)
dimensions <- dim(students)
Nous pouvons également ajouter de nouvelles colonnes ou mettre à jour celles existantes en utilisant directement l'opérateur $ :
# Ajoute une colonne avec les notes augmentées de 2 points
students$bonus_grade <- students$grade + 2
À vous de jouer
Créez un Data Frame nommé students contenant deux colonnes : name (avec les valeurs 'Alice' et 'Bob') et grade (avec les valeurs 28 et 24).
Afficher l'indice
Utilisez la fonction data.frame : students <- data.frame(name = c('Alice', 'Bob'), grade = c(28, 24))
Solution disponible après 3 tentatives
Étant donné le Data Frame students, extrayez la colonne grade en utilisant l'opérateur $ et sauvegardez-la dans la variable grades_vector.
Afficher l'indice
Utilisez l'opérateur $ : grades_vector <- students$grade
Solution disponible après 3 tentatives
Filtrez le Data Frame students pour n'inclure que les étudiants ayant un grade supérieur ou égal à 26, en sauvegardant le résultat dans good_students.
Afficher l'indice
Utilisez students[students$grade >= 26, ] sans oublier la virgule pour sélectionner toutes les colonnes.
Solution disponible après 3 tentatives
Étant donné le data frame df, obtenez ses dimensions en utilisant la fonction dim() et sauvegardez-les dans la variable df_dim.
Afficher l'indice
Utilisez la fonction dim() : df_dim <- dim(df)
Solution disponible après 3 tentatives
Étant donné le data frame inventory, ajoutez une nouvelle colonne nommée total_value calculée comme le produit des colonnes price et quantity.
Afficher l'indice
Utilisez : inventory$total_value <- inventory$price * inventory$quantity
Solution disponible après 3 tentatives