<- c(12, 15, 13, 8) notes
Séance 2 : Données et fonctions intégrées
Apprendre R avec les LLMs
Plan de la séance
- Récap et partage (20min) : Retours sur vos journaux
- Charger des données (45min) : Importer des fichiers CSV
- Exploration de données (45min) : Structure et types de données
- Statistiques descriptives (45min) : Analyser les données
- Visualisations de base (45min) : Créer des graphiques
- Mini-projet (50min) : Analyser des données réelles
Production attendue : Analyse commentée de données avec graphiques
Objectifs de la séance
- Importer des données depuis des fichiers
- Explorer la structure des données (data frames)
- Calculer des statistiques descriptives
- Créer des visualisations simples
- Gérer les données manquantes
- Débugger avec l’aide des LLMs
Récap et partage
Retours sur la séance 1
- Qu’avez-vous retenu de la semaine dernière ?
- Quels concepts restent flous ?
- Avez-vous pratiqué entre les séances ?
Retours sur vos journaux
- Copier-coller les prompts exacts que vous utilisez
- Documenter les réponses du LLM (pas juste des captures d’écran)
- Expliquer avec vos propres mots ce que vous avez compris
- Noter les erreurs rencontrées et comment vous les avez résolues
- Éviter les formats propriétaires (.pages) - préférer .docx ou .pdf
10 minutes. Discuter des journaux. Montrer des exemples anonymisés (bons et moins bons).
Exercice de révision
Sans utiliser le LLM, écrivez un script qui :
- Crée un vecteur avec 5 nombres de votre choix
- Calcule la moyenne
- Trouve le maximum
- Affiche les résultats avec
print()
Ensuite, comparez avec votre voisin et discutez des différences.
10 minutes. Révision active. Encourage la discussion entre étudiants.
Charger des données
Des vecteurs aux données réelles
Jusqu’ici, vous avez créé des données avec c()
:
Dans la vraie vie, les données viennent souvent de fichiers : CSV, Excel, bases de données, etc.
Le format CSV
Un format simple et universel pour stocker des données tabulaires.
Exemple de contenu CSV :
nom,age,note
Alice,20,15
Bob,22,12 Charlie,21,14
Exercice 1 : Télécharger les données
- Connectez-vous sur Moodle
- Téléchargez le fichier
donnees_meteo.csv
- Placez-le dans votre dossier de travail
Comment connaître votre dossier de travail ?
getwd() # "get working directory"
Pour le changer :
setwd("/chemin/vers/votre/dossier")
Ou utilisez Session > Set Working Directory dans RStudio.
10 minutes. S’assurer que tout le monde a les données au bon endroit. Circuler pour aider.
Exercice 2 : Importer les données
Demandez à votre LLM :
“Comment importer un fichier CSV en R ? Je débute en programmation.”
Vous devriez obtenir quelque chose comme :
<- read.csv("donnees_meteo.csv") donnees_meteo
Testez cette commande !
En cas d’erreur, demandez au LLM de vous aider à débugger.
15 minutes. Première importation de données. Anticiper les erreurs de chemin, d’encodage, etc.
Vérifier l’importation
Une fois importé, vérifiez que ça a fonctionné :
# Afficher les premières lignes
head(donnees_meteo)
# Afficher la structure
str(donnees_meteo)
Demandez au LLM d’expliquer ce que montrent ces fonctions.
Exploration de données
Les data frames
Les données importées sont stockées dans un data frame.
Un data frame est comme un tableau Excel : des lignes (observations) et des colonnes (variables).
Exercice 3 : Explorer la structure
Avec vos données météo, testez :
# Nombre de lignes et colonnes
nrow(donnees_meteo)
ncol(donnees_meteo)
dim(donnees_meteo) # les deux à la fois
# Noms des colonnes
names(donnees_meteo)
colnames(donnees_meteo)
# Résumé rapide
summary(donnees_meteo)
Questions :
- Combien d’observations avez-vous ?
- Quelles variables (colonnes) sont présentes ?
- Quel type de données contient chaque colonne ?
15 minutes. Découverte des fonctions d’exploration. Essentielles pour comprendre les données.
Accéder aux colonnes
Pour accéder à une colonne spécifique, utilisez $
:
$temperature
donnees_meteo$date donnees_meteo
Cela retourne un vecteur ! Vous pouvez donc utiliser toutes les fonctions que vous connaissez :
mean(donnees_meteo$temperature)
max(donnees_meteo$temperature)
Exercice 4 : Analyser les variables
Pour chaque variable numérique dans vos données, calculez :
- La moyenne
- La médiane
- Le minimum
- Le maximum
- L’écart-type (
sd()
)
Demandez au LLM :
“Comment calculer des statistiques descriptives sur une colonne d’un data frame en R ?”
Notez vos résultats dans un commentaire de votre script.
15 minutes. Application pratique. Les étudiants utilisent $ et les fonctions statistiques.
Statistiques descriptives
La fonction summary()
summary()
donne un aperçu rapide :
summary(donnees_meteo$temperature)
Elle affiche :
- Minimum et maximum
- 1er quartile, médiane, 3e quartile
- Moyenne
Exercice 5 : Comparer avec vos calculs
Comparez vos calculs précédents avec summary()
:
# Vos calculs
mean(donnees_meteo$temperature)
median(donnees_meteo$temperature)
min(donnees_meteo$temperature)
max(donnees_meteo$temperature)
# Summary
summary(donnees_meteo$temperature)
Questions :
- Les résultats correspondent-ils ?
- Que signifie “médiane” ? (Demandez au LLM si vous ne savez pas)
- Que signifient les quartiles ?
15 minutes. Vérification et approfondissement. Introduction aux quartiles.
Gérer les valeurs manquantes (NA)
Testez ce code :
# Y a-t-il des NA dans vos données ?
sum(is.na(donnees_meteo$temperature))
# Afficher les lignes avec des NA
is.na(donnees_meteo$temperature), ] donnees_meteo[
Demandez au LLM :
“Comment gérer les valeurs manquantes (NA) lors du calcul de statistiques en R ?”
Vous découvrirez le paramètre na.rm = TRUE
:
mean(donnees_meteo$temperature, na.rm = TRUE)
15 minutes. Problème réel très fréquent. Important de comprendre na.rm.
Exercice 6 : Rapport statistique
Créez un script qui génère un rapport complet sur la variable température :
# Rapport sur la température
print("=== ANALYSE DE LA TEMPÉRATURE ===")
print(paste("Nombre d'observations :", length(donnees_meteo$temperature)))
print(paste("Valeurs manquantes :", sum(is.na(donnees_meteo$temperature))))
print(paste("Moyenne :", mean(donnees_meteo$temperature, na.rm = TRUE)))
print(paste("Médiane :", median(donnees_meteo$temperature, na.rm = TRUE)))
print(paste("Écart-type :", sd(donnees_meteo$temperature, na.rm = TRUE)))
Extension : Faites la même chose pour une autre variable.
15 minutes. Exercice de synthèse. Introduction à paste() pour formater.
Visualisations
Pourquoi visualiser ?
- Les chiffres ne suffisent pas toujours
- Un graphique révèle des patterns invisibles dans les tableaux
- Communiquer plus efficacement
Exercice 7 : Premier graphique
Demandez au LLM :
“Comment créer un graphique simple en R pour visualiser l’évolution d’une variable dans le temps ? Je débute.”
Vous découvrirez probablement plot()
:
plot(donnees_meteo$date, donnees_meteo$temperature)
Testez ce code !
Si vous avez une erreur avec les dates, demandez au LLM comment les convertir au bon format.
15 minutes. Premier graphique. Les dates peuvent poser problème - bon exercice de debugging.
Améliorer le graphique
Les graphiques de base peuvent être personnalisés :
plot(donnees_meteo$date, donnees_meteo$temperature,
type = "l", # ligne au lieu de points
col = "blue",
main = "Évolution de la température",
xlab = "Date",
ylab = "Température (°C)")
Demandez au LLM d’expliquer chaque paramètre.
Exercice 8 : Explorer d’autres graphiques
Demandez au LLM comment créer :
- Un histogramme de la température
- Un boxplot (boîte à moustaches)
- Un graphique de points (scatter plot) si vous avez deux variables numériques
Testez chaque type et notez dans votre journal :
- La commande utilisée
- Ce que montre le graphique
- Quand l’utiliser
20 minutes. Exploration des types de graphiques. Encourager la curiosité.
Sauvegarder un graphique
Pour sauvegarder un graphique :
# Ouvrir un fichier
png("mon_graphique.png", width = 800, height = 600)
# Créer le graphique
plot(donnees_meteo$date, donnees_meteo$temperature, type = "l")
# Fermer le fichier
dev.off()
Le fichier sera dans votre dossier de travail.
Debugging
Les erreurs sont normales !
Tout le monde rencontre des erreurs. C’est une partie essentielle de la programmation.
Stratégie de debugging :
- Lire le message d’erreur (même s’il semble cryptique)
- Identifier la ligne problématique
- Tester des hypothèses
- Demander de l’aide (LLM, documentation, pairs)
Exercice 9 : Debugging collectif
Voici du code avec des erreurs. Trouvez-les et corrigez-les :
# Charger les données
<- read.csv(donnees_meteo.csv)
donnees
# Calculer la moyenne
<- mean(donnees$Temperature)
moyenne_temp
# Afficher
print("La moyenne est" moyenne_temp)
Travaillez par groupes de 2-3. Utilisez le LLM si nécessaire.
Erreurs à trouver :
- Guillemets manquants autour du nom de fichier
- Majuscule incorrecte dans le nom de colonne
- Virgule manquante dans
print()
15 minutes. Exercice collectif. Discuter ensuite des types d’erreurs courantes.
Bien utiliser le LLM pour débugger
Mauvais prompt : > “Ça marche pas”
Bon prompt : > “J’essaie d’importer un fichier CSV avec read.csv() mais j’obtiens cette erreur : [copier l’erreur exacte]. Voici mon code : [copier le code]. Que dois-je corriger ?”
Donnez toujours :
- Le code exact
- L’erreur complète
- Ce que vous essayez de faire
- Votre niveau (débutant)
Mini-projet
Projet : Analyse de données INSEE
Objectif : Analyser des données économiques réelles.
Étapes :
- Allez sur https://www.insee.fr/fr/statistiques/2830613
- Téléchargez les données du PIB (format CSV de préférence)
- Importez-les dans R
- Créez un rapport complet
- Import et vérification des données
- Statistiques descriptives
- Au moins 2 graphiques
- Commentaires expliquant vos observations
50 minutes. Projet autonome. Circuler beaucoup. Les étudiants vont rencontrer des difficultés (format de données, etc.) - c’est normal et formateur.
Critères du mini-projet
Votre analyse doit inclure :
- ✅ Import réussi des données
- ✅ Exploration de la structure (
str()
,summary()
, etc.) - ✅ Au moins 5 statistiques descriptives calculées
- ✅ Au moins 2 visualisations différentes
- ✅ Code commenté et organisé
- ✅ Interprétation des résultats (commentaires en français)
Bonus :
- Gestion des NA
- Graphiques personnalisés
- Comparaison entre plusieurs variables
Aide pour le projet
Si vous êtes bloqué :
- Relisez les exercices précédents
- Consultez votre journal
- Demandez à votre voisin
- Utilisez le LLM avec un prompt précis
- Appelez l’enseignant
Procédez par étapes. Testez chaque ligne avant de passer à la suivante.
Retour réflexif
Exercice de synthèse : Journal de bord
Dans votre journal, documentez :
- Import de données :
- Prompts utilisés pour apprendre à importer
- Difficultés rencontrées (chemins, formats, etc.)
- Solutions trouvées
- Analyse et visualisation :
- 3 fonctions nouvelles que vous maîtrisez maintenant
- Un graphique dont vous êtes fier (copier le code)
- Une chose que vous ne comprenez pas encore
- Debugging :
- Une erreur marquante et comment vous l’avez résolue
- Un bon prompt de debugging qui a fonctionné
15 minutes. Temps de réflexion calme. Important pour ancrer les apprentissages.
Évolution de vos compétences
Séance 1 : Vous avez appris les bases (objets, fonctions, vecteurs)
Séance 2 : Vous savez maintenant :
- Importer des données réelles
- Les explorer et les analyser
- Créer des visualisations
- Débugger efficacement
Vous êtes déjà capable d’analyser de vraies données ! 🎉
Ressources et prochaines étapes
Fonctions clés de cette séance
Import et exploration :
read.csv()
,getwd()
,setwd()
head()
,str()
,summary()
,dim()
,names()
Statistiques :
mean()
,median()
,sd()
,min()
,max()
na.rm = TRUE
pour gérer les NA
Visualisation :
plot()
,hist()
,boxplot()
- Paramètres :
type
,col
,main
,xlab
,ylab
Pour aller plus loin
- Pratiquez avec d’autres jeux de données
- Explorez d’autres types de graphiques
- Découvrez le package
ggplot2
(pour plus tard) - Partagez vos visualisations avec vos camarades
Préparation prochaine séance
- Terminez le mini-projet INSEE si besoin
- Mettez à jour votre journal avec tous les détails de cette séance
- Trouvez un jeu de données qui vous intéresse et analysez-le
- Créez au moins 3 graphiques différents avec vos données
Prochaine séance : Fonctions, conditions et boucles - automatiser vos analyses !
Questions ?
- Les data frames sont essentiels pour travailler avec des données réelles
$
permet d’accéder aux colonnes- Toujours vérifier les NA avant de calculer
- Les visualisations révèlent ce que les chiffres cachent
- Le debugging fait partie du processus - soyez patient !
Bon courage et bonnes analyses ! 📊