Aventure 2 - GitHub et la visualisation de données numériques

STT-1100 Introduction à la science des données

Mission Antarctique – Dans la peau d’un·e scientifique de données

Bienvenue dans votre nouvelle mission scientifique ! Vous êtes désormais scientifique de données dans l’équipe de la Dre Adélie, une chercheuse spécialisée dans l’étude des manchots d’Antarctique. Elle vous a confié un ensemble de données collectées sur le terrain pour l’aider à explorer certaines pistes de recherche.

Votre travail consiste à manipuler, transformer et visualiser les données de manière rigoureuse, afin d’en extraire des informations utiles et reproductibles. Vous devrez notamment produire des visualisations convaincantes, calculer des statistiques descriptives et documenter votre démarche dans un rapport clair.

Le jeu de données, qui contient des mesures physiques de plusieurs espèces de manchots, vous servira de terrain d’enquête.


Carte de visite

Votre rôle Scientifique de données

Interlocuteurs Dre Adélie Fortier, avec Jules Tremblay comme soutien

Organisation et contexte Équipe de recherche sur les manchots d’Antarctique

Mission Explorer, manipuler, résumer et visualiser les données de terrain

Données manchots_donnees.xlsx

Livrable Journal de bord, puis rapport d’analyse Quarto HTML

Déroulement de la mission et livrables attendus

La mission se déroulera en deux temps, car la Dre Adélie devra bientôt repartir en expédition en Antarctique.

Partie 1 – Avant le départ de la Dre Adélie

Avant son départ, vous collaborerez étroitement avec elle pour explorer les premières pistes. Elle vous demandera de :

  • Nettoyer et transformer les données avec dplyr.
  • Calculer des statistiques descriptives pertinentes sur les variables numériques.
  • Créer des visualisations exploratoires (ggplot2) pour mieux comprendre les relations entre les variables.

Livrable de la première partie :
Vous devez rédiger un journal de bord dans un rapport Quarto (format HTML) qui documente vos observations, vos explorations et les pistes que vous avez soulevées avec elle. Ce journal sert à garder une trace de vos analyses avant qu’elle ne parte sur le terrain. Un modèle de journal de bord vous sera donné.


Partie 2 – Au retour de la Dre Adélie

De retour de mission, la Dre Adélie reviendra avec des questions précises à explorer et vous demandera de l’aider à préparer un rapport solide pour accompagner sa demande de subvention.

Livrable de la deuxième partie :
Un rapport structuré et complet répondant à ses nouvelles demandes précises, incluant :

  • Des visualisations ciblées.
  • Des analyses précises basées sur vos découvertes antérieures.
  • Une mise en forme professionnelle (titre, légendes, axes lisibles, cohérence graphique).
  • Un suivi rigoureux via GitHub, incluant plusieurs commits bien commentés.
  • Des réponses claires aux tâches laissées par la Dre Adélie.

Note de terrain : Pendant votre mission, un·e collègue plus expérimenté·e (Jules Tremblay) passera vous voir de temps en temps pour vérifier que tout se passe bien. Il ou elle vous posera quelques questions rapides pour tester votre compréhension. Répondez-y sérieusement, ces vérifications vous aideront à consolider vos apprentissages !

Comment réussir cette aventure

Bienvenue dans cette nouvelle aventure en science des données ! Cette fois, vous allez collaborer avec une chercheuse qui étudie les manchots de la station Palmer en Antarctique. Votre mission est d’explorer et d’analyser ses données pour l’aider à répondre à ses questions scientifiques.

Pour réussir cette aventure, voici quelques conseils essentiels :

  • Lisez attentivement chaque section avant de passer à l’expérimentation. Les explications fournies vous permettront de bien comprendre les concepts et les outils utilisés.
  • Expérimentez activement en exécutant le code proposé et en l’adaptant à vos propres analyses. Modifier et tester différentes approches est un excellent moyen d’apprendre.
  • Réfléchissez aux questions posées par la chercheuse et utilisez les outils adéquats pour y répondre. Pensez à justifier vos choix et interprétations.
  • Soyez rigoureux dans votre travail en adoptant de bonnes pratiques de programmation et en documentant vos analyses.
  • N’hésitez pas à poser des questions si vous rencontrez des difficultés ou si certains concepts restent flous.

Cette aventure vous permettra de développer vos compétences en manipulation, visualisation et analyse de données avec dplyr et ggplot2. Ce sont des compétences primordiales pour un scientifique de données. Prenez le temps d’explorer les différentes étapes et amusez-vous à apprendre !

Travail sur GitHub

La chercheuse a préparé un dépôt sur GitHub où elle souhaite que vous enregistriez tout votre travail. De son côté, elle y a déposé la base de données qu’elle a collectée ainsi qu’une description détaillée des variables. Elle souhaite notamment que vous complétiez un journal de bord modèle au format Quarto.

Avant de commencer l’analyse des données, vous devez récupérer le dépôt GitHub contenant les fichiers nécessaires.

  1. Clonez votre dépôt aventure-2-IDENTIFIANT_GITHUB. Pour cela, créez un nouveau projet RStudio et collez le lien de votre dépôt GitHub selon la méthode indiquée dans la feuille aide-mémoire.

Astuce : Si vous souhaitez revenir plus tard sur ce projet, vous pouvez ouvrir directement le projet en double-cliquant sur le fichier .Rproj dans votre explorateur de fichiers.

  1. Ouvrez le fichier Quarto de journal de bord, inscrivez votre nom et enregistrez le fichier.

  2. Faites un premier commit et un premier push vers GitHub. Une fois votre fichier .qmd modifié et enregistré, commitez et poussez vos modifications sur GitHub.

Attention : les messages de commit doivent être parlants. Par exemple : “Initialisation du journal de bord”.

Félicitations ! Vous êtes maintenant prêt à débuter l’analyse scientifique des manchots !

Conseil : utilisez le modèle de journal de bord pour compléter l’ensemble des analyses de la première partie de cette aventure. Prenez donc quelques minutes pour regarder la structure du document.

Lecture des données

La chercheuse vous a fourni un fichier Excel contenant les données des manchots qu’elle a collectées. Votre première mission consiste à charger ces données dans R en utilisant l’interface graphique de RStudio.

Étapes à suivre

  1. Ouvrir le menu d’importation de données

    • Dans RStudio, allez dans l’onglet Environment (Environnement).

    • Cliquez sur Import Dataset (Importer un jeu de données).

    • Sélectionnez From Excel… (Depuis Excel…), puisque l’extension est .xlsx.

Capture d'écran montrant le bouton Import Dataset dans l'onglet Environment de RStudio.

Bouton Import Dataset dans l’onglet Environment de RStudio
  1. Sélectionner le fichier

    • Dans la fenêtre qui s’ouvre, cliquez sur Browse… (Parcourir…) et sélectionnez le fichier data/manchots_donnees.xlsx dans le dépôt cloné.
  2. Ajuster les paramètres d’importation

    • Assurez-vous que les en-têtes de colonnes sont bien détectés.

    • Vérifiez que toutes les variables sont correctement identifiées (ex. les nombres sont bien en format numérique).

    • Appelez le jeu de données penguins_mission en complétant l’information dans la fenêtre.

  3. Importer et afficher les données

    • Cliquez sur Import.

    • Vérifiez que votre jeu de données apparaît dans l’Environment sous le nom penguins_mission.

    Remarque : lorsqu’on clique sur Import, un code s’exécute dans la console. Il s’agit du code qui importe le jeu de données.

    • Pour voir un aperçu des données, utilisez la commande suivante dans la console :

      View(penguins_mission)

Rappel : documentez votre importation dans votre rapport Quarto

Une bonne pratique en science des données est de toujours documenter comment vous avez importé les données, même si vous avez utilisé une interface graphique.
Ajoutez le code exécuté dans la console dans votre fichier Quarto de journal de bord (.qmd) à la section appropriée.

Dans chaque rapport d’analyse, vous devriez avoir une première section Lecture des données, avec un bloc de code qui contient le code qui permet de lire les données. J’en profite pour vous rappeler les bonnes pratiques de programmation du tidyverse : dans votre bloc de code, il devrait par exemple y avoir des commentaires.

Pourquoi est-ce important ?
Cela garantit que votre analyse est reproductible : si un autre chercheur veut la refaire, il pourra exécuter votre code sans avoir à utiliser l’interface graphique.

Dans votre dépôt étudiant, le code devrait ressembler à ceci :

library(readxl)

# Importation des données
penguins_mission <- read_excel("data/manchots_donnees.xlsx")
ImportantIntervention de Jules – Nom de la base

Tu viens d’importer le fichier Excel. Dis-moi, dans quelle variable as-tu stocké les données pour la suite de l’analyse ?
1. penguins
2. penguins_mission
3. donnees_manchots
4. mission_antarctique

Tu devais nommer ta base penguins_mission, comme indiqué dans l’instruction d’importation.
Attention : tout le reste de l’analyse repose sur ce nom cohérent !

Une fois vos données chargées, vous êtes prêts à les explorer et à les analyser ! Pensez à générer votre rapport, committer vos modifications et pousser sur GitHub pour garder une trace de votre travail !

Manipulation de données

Résumé de données avec glimpse()

La chercheuse veut une vue rapide des données pour vérifier leur structure. Utilisez glimpse() pour afficher un aperçu :

library(tidyverse)
glimpse(penguins_mission)
ImportantJules – Variables numériques

Combien de variables numériques vois-tu dans le glimpse() de penguins_mission?
- 3
- 4
- 5
- 6

Au moment de l’importation, il y a 4 variables numériques :
bill_length_mm, bill_depth_mm, flipper_length_mm et body_mass_g.
Attention : si vous ajoutez ensuite de nouvelles colonnes numériques, ce total changera.

Aperçu rapide avec glimpse()

La fonction glimpse() du package dplyr permet d’obtenir un aperçu rapide et structuré d’un jeu de données.

Plutôt que d’afficher toutes les lignes ou une structure en arbre comme str(), glimpse() présente les variables horizontalement, avec :

  • Le nom de chaque variable

  • Son type de données (<dbl>, <chr>, <fct>, etc.)

  • Quelques valeurs représentatives de chaque colonne

Cette présentation facilite l’examen rapide de la structure d’un tableau, surtout lorsqu’il comporte de nombreuses colonnes.

Bon à savoir : glimpse() est particulièrement utile pour repérer d’éventuelles erreurs de type (ex. une variable numérique encodée comme texte) ou pour déceler des valeurs manquantes.

AstuceExercice

La chercheuse souhaite obtenir un premier compte rendu sur les données disponibles. Pour cela, vous devez compléter le texte suivant et l’intégrer dans votre journal de bord d’analyse Quarto :

Le jeu de données contient ___ observations et ___ variables. Les variables sont ___, ___, ___, etc.

Note

Question de réflexion : Que se passe-t-il si la chercheuse modifie la base de données ? Par exemple, elle a oublié un manchot et l’ajoute sans vous prévenir, puis met à jour le dépôt GitHub. Lorsque vous réexécutez votre analyse dans votre rapport Quarto (.qmd), que va-t-il se passer ?

Ne vous inquiétez pas si cela vous semble complexe ! Nous reviendrons sur cet aspect plus tard dans la session.

AstuceExercice

Combien de variables sont de type numérique ? Combien sont de type caractère ? Incluez votre réponse dans votre journal de bord à la suite du texte troué.

Pensez à générer votre rapport, committer vos modifications et pousser sur GitHub pour garder une trace de votre travail !

Sélectionner des variables avec select()

La chercheuse veut se concentrer uniquement sur certaines variables pertinentes pour son analyse. Utilisez select() pour ne garder que species, island, bill_length_mm et body_mass_g :

penguins_subset <- penguins_mission %>%
  select(species, island, bill_length_mm, body_mass_g)
NoteExemple

Faites un glimpse() de la nouvelle base de données penguins_subset. Pourquoi avoir choisi un nouveau nom ?

AstuceExercice

Sélectionnez toutes les variables sauf flipper_length_mm et body_mass_g. Attention, il y a une façon rapide de le faire !

Créer de nouvelles variables avec mutate()

Explication : La chercheuse souhaite ajouter une nouvelle colonne indiquant le poids en kilogrammes au lieu de grammes. En effet, son appareil de mesure indiquait les mesures en g, mais elle croit que cela sera plus facile à interpréter en kg.

Pourquoi est-ce utile ? Transformer les unités peut faciliter la compréhension et la communication des résultats.

La chercheuse souhaite ajouter une nouvelle colonne indiquant le poids en kilogrammes au lieu de grammes. Utilisez mutate() pour créer cette nouvelle variable :

penguins_mission <- penguins_mission %>%
  mutate(body_mass_kg = body_mass_g / 1000)
ImportantJules – Masse en kilogrammes

Tu as transformé la masse en kilogrammes. La masse du manchot numéro 21 est-elle plus petite que 4 kg ?
1. Vrai
2. Faux

Quand on regarde la ligne 21 de la base de données, on obtient un nombre pour body_mass_kg de 4.01 kg, donc la réponse est Faux.

penguins_mission[21,"body_mass_kg"]

On va maintenant continuer avec une nouvelle variable qui intéresse beaucoup la chercheuse :

AstuceExercice

Créez une nouvelle variable appelée bill_ratio correspondant au rapport entre la longueur et la profondeur du bec.

Question de la chercheuse : un de mes collègues en Antarctique m’assure que le rapport moyen entre la longueur et la profondeur du bec est supérieur à 3. Peux-tu vérifier cette affirmation avec les données ? J’aimerais que tu répondes à la question dans le journal de bord.

Pensez à générer votre rapport, committer vos modifications et pousser sur GitHub pour garder une trace de votre travail !

Filtrer les données avec filter()

La chercheuse veut analyser uniquement les manchots de l’île Biscoe. Utilisez filter() pour ne garder que ces observations :

penguins_biscoe <- penguins_mission %>%
  filter(island == "Biscoe")
AstuceExercice

Filtrez les données pour ne garder que les manchots de l’espèce Adelie de l’île Biscoe.

Regrouper et résumer les données avec group_by()

La chercheuse souhaite connaître la masse moyenne des manchots par espèce. Utilisez group_by() suivi de summarise() pour obtenir cette information :

penguins_summary <- penguins_mission %>%
  group_by(species) %>%
  summarise(mean_body_mass_g = mean(body_mass_g, na.rm = TRUE))

Remarque: on utilise l’option na.rm=TRUE dans les fonctions, ce qui est assez pratique, car cela permet de calculer la statistique en omettant les valeurs manquantes (NA).

AstuceExercice

Question de la chercheuse : Quelle est la combinaison île/espèce qui possède la longueur médiane de nageoire la plus faible ? J’aimerais que tu répondes à la question dans le journal de bord.

Grâce à group_by(), on peut aussi travailler par groupe, ce qui peut être très pratique.

AstuceExercice

Exercice : faites sortir le premier manchot de la base de données pour chaque espèce et chaque île. Indice : on peut utiliser group_by(species, island) puis slice(1).

Pensez à générer votre rapport, committer vos modifications et pousser sur GitHub pour garder une trace de votre travail !

Un appel d’urgence depuis l’Antarctique

Alors que vous avanciez bien dans votre analyse des données, vous recevez un message urgent de la chercheuse. Elle a dû partir précipitamment en Antarctique pour une mission d’urgence : aider une colonie de manchots confrontée à des conditions climatiques extrêmes.

Avant son départ, elle a pris soin de vous laisser une liste de tâches essentielles à compléter. Elle compte sur vous pour poursuivre son analyse ! Cependant, la connexion est instable là-bas. La seule manière de communiquer avec elle est par Teams : elle vous enverra des messages, mais vous ne pourrez pas communiquer directement avec elle.

Note : ici vous êtes toujours dans la partie 1 de l’aventure, mais la chercheuse vous a laissé une liste de tâches à compléter avant son départ. Vous devez donc continuer à travailler sur le jeu de données penguins_mission que vous avez créé précédemment et continuer à compléter le journal de bord.

Visualisation des données

La visualisation des données est une étape essentielle de l’analyse, car elle permet de mieux comprendre les tendances et les relations entre les variables. Une bonne visualisation facilite l’interprétation des données et aide à repérer des valeurs aberrantes ou des motifs intéressants.

Rappel des bonnes pratiques de codage en visualisation :

  • Toujours étiqueter les axes avec labs() pour rendre les graphiques compréhensibles.

  • Utiliser des couleurs adaptées pour distinguer les groupes sans surcharger la visualisation.

  • Vérifier que l’échelle des axes est cohérente et ne fausse pas l’interprétation des données.

  • Adapter le binwidth des histogrammes et la transparence des points dans les graphiques de nuage de points pour éviter une mauvaise lisibilité.

  • Tester plusieurs types de graphiques avant de conclure sur une analyse.

Histogrammes

Explication : Un histogramme permet de visualiser la distribution d’une variable numérique. Ici, nous allons par exemple examiner la répartition des profondeurs de bec (bill_depth_mm).

library(ggplot2)
ggplot(penguins_mission, aes(x = bill_depth_mm)) +
  geom_histogram(binwidth = 0.5, fill = "steelblue", color = "black") +
  labs(title = "Distribution de la profondeur du bec des manchots",
       x = "Profondeur du bec (mm)",
       y = "Effectif")

Histogramme montrant la distribution de la profondeur du bec des manchots en millimètres.

NoteExemple

Changez la valeur de binwidth dans le code ci-dessus et observez comment cela modifie l’histogramme.

ImportantJules – Distribution observée

Quand tu regardes l’histogramme de bill_depth_mm, comment décrirais-tu la forme de la distribution ? Est-elle uniforme, bimodale, asymétrique ou plutôt concentrée autour d’une zone centrale ?

La distribution n’est pas uniforme : les valeurs sont surtout concentrées autour d’une zone centrale, avec moins d’observations aux extrêmes.
La conclusion peut varier légèrement selon la valeur de binwidth; il faut donc justifier votre interprétation à partir du graphique obtenu.

Instructions laissées par la chercheuse

Pour connaître la première demande de la chercheuse, voici son message reçu :

[1] "Je veux voir la répartition des longueurs de nageoires des manchots. En effet, quand j'ai regardé, il me semblait y avoir une erreur dans les données. J'aimerais que tu m'aides à la trouver."
AstuceExercice

Créez un histogramme pour la variable flipper_length_mm. Vous devez ajuster l’ensemble des informations sur le graphique en respectant les bonnes pratiques de visualisation.

Question de la chercheuse : en regardant l’histogramme de la longueur des nageoires, remarquez-vous quelque chose de particulier dans la distribution ?

Poussons un peu plus loin la visualisation pour essayer de répondre à sa demande.

Boîte à moustaches

Explication : Une boîte à moustaches permet de visualiser la dispersion d’une variable numérique et d’identifier d’éventuelles valeurs aberrantes. Ici, nous allons examiner la distribution de la longueur des nageoires (flipper_length_mm).

ggplot(penguins_mission, aes(x = species, y = flipper_length_mm, fill = species)) +
  geom_boxplot() +
  labs(title = "Distribution de la longueur des nageoires par espèce",
       x = "Espèce",
       y = "Longueur des nageoires (mm)")

Boîte à moustaches comparant la longueur des nageoires des manchots selon l'espèce.

NoteExemple

Ajoutez une variable pour différencier les îles et observez si certaines îles présentent des valeurs plus extrêmes.

AstuceExercice

Trouvez le numéro de ligne de l’observation qui semble être une valeur aberrante dans la longueur des nageoires.

ImportantJules – Observation anormale

Quel est le numéro de ligne de l’observation qui a une nageoire de 400 mm (valeur aberrante ajoutée exprès) ?
1. 1
2. 11
3. 6
4. 113

L’observation aberrante est ligne 6.
Elle a été ajoutée exprès pour tester ta capacité à détecter visuellement les anomalies.

Pensez à générer votre rapport, committer vos modifications et pousser sur GitHub pour garder une trace de votre travail !

AstuceExercice (optionnel)

Dans le graphique précédent, le titre de la légende est “species”, en anglais, ce qui correspond au nom de la variable par défaut. Changez-le pour “Espèce” en français. Vous devez trouver par vous-même comment faire cela.

Nuages de points

Explication : Un nuage de points permet de visualiser la relation entre deux variables numériques. Ici, nous allons examiner la relation entre la longueur du bec (bill_length_mm) et la profondeur du bec (bill_depth_mm).

ggplot(penguins_mission, aes(x = bill_length_mm, y = bill_depth_mm)) +
  geom_point() +
  labs(title = "Relation entre la longueur et la profondeur du bec",
       x = "Longueur du bec (mm)",
       y = "Profondeur du bec (mm)")

Nuage de points montrant la relation entre la longueur du bec et la profondeur du bec des manchots.

NoteExemple

Ajoutez une variable de couleur pour différencier les îles et observez si certaines îles présentent des relations différentes.

Pour connaître la prochaine demande de la chercheuse, voici le message que vous venez de recevoir :

[1] "Je veux voir la relation entre la longueur du bec et la masse corporelle sous forme d'un nuage de points. Peux-tu vérifier s'il y a des valeurs aberrantes pour ces deux variables ?"
AstuceExercice

Modifiez le nuage de points pour afficher la relation souhaitée par la chercheuse. Trouvez-vous qu’un point a l’air bizarre ? Si oui, quel est son numéro de ligne ?

L’observation qui combine une masse corporelle de 9000 g et une longueur de bec de 20 mm est la ligne 11.

Pensez à générer votre rapport, committer vos modifications et pousser sur GitHub pour garder une trace de votre travail !

Statistiques descriptives

Explication : Les statistiques descriptives permettent de résumer et comprendre rapidement un ensemble de données. Elles se divisent en plusieurs catégories :

  • Tendance centrale : moyenne, médiane
  • Dispersion : variance, écart-type, coefficient de variation
  • Distribution : min, max, quartiles
  • Asymétrie et aplatissement : skewness et kurtosis (optionnel)

Nous allons voir comment obtenir ces statistiques en R avec dplyr. En utilisant la fonction summarise il est très facile de calculer des statistiques descriptives sur une variable:

penguins_mission %>%
  summarise(
    mean_bill_length = mean(bill_length_mm, na.rm = TRUE), #  moyenne
    median_bill_length = median(bill_length_mm, na.rm = TRUE), # mediane
    sd_bill_length = sd(bill_length_mm, na.rm = TRUE), # écart-type
    var_bill_length = var(bill_length_mm, na.rm = TRUE), # variance
    min_bill_length = min(bill_length_mm, na.rm = TRUE), # min
    max_bill_length = max(bill_length_mm, na.rm = TRUE), # max
    q1_bill_length = quantile(bill_length_mm, 0.25, na.rm = TRUE), # Q1
    q3_bill_length = quantile(bill_length_mm, 0.75, na.rm = TRUE) #Q3
  )

Instructions laissées par la chercheuse

Pour connaître la première demande de la chercheuse, elle vient de vous envoyer ceci :

[1] "Quelle espèce de pingouin a le bec le plus long en moyenne ? Le plus variable?"
AstuceExercice

Répondez de façon précise dans votre journal de bord à la demande de la Dre Adélie.

Méthode rapide avec across() dans dplyr

Tu peux appliquer toutes les fonctions statistiques sur plusieurs colonnes d’un coup :

penguins_mission %>%
  group_by(species) %>%
  summarise(
    across(
      bill_length_mm,
      list(
        mean = ~mean(.x, na.rm = TRUE),
        median = ~median(.x, na.rm = TRUE),
        sd = ~sd(.x, na.rm = TRUE),
        var = ~var(.x, na.rm = TRUE),
        min = ~min(.x, na.rm = TRUE),
        max = ~max(.x, na.rm = TRUE),
        q1 = ~quantile(.x, 0.25, na.rm = TRUE),
        q3 = ~quantile(.x, 0.75, na.rm = TRUE)
      )
    )
  )

Avantages :

  • Moins de répétition de code

  • Facilement extensible à plusieurs variables en changeant bill_length_mm par c(bill_length_mm, flipper_length_mm)

ImportantJules – Valeur moyenne du ratio

Tu as calculé bill_ratio plus haut avec la fonction mutate. Si la moyenne est environ 2.70 et que ton collègue s’attend à une valeur supérieure à 3, que peux-tu conclure ?
1. Le collègue a raison, 2.70 est supérieur à 3
2. Il faut plus d’échantillons
3. Tes résultats contredisent son hypothèse
4. Le ratio n’est pas utile

Une moyenne d’environ 2.70, inférieure à 3, contredit l’hypothèse du collègue.
Cela suggère une différence, mais tu pourrais aussi comparer les distributions, par exemple avec un histogramme ou un boxplot, pour mieux visualiser les variations.

Visualisation avancée et statistiques descriptives (optionnel)

Nous allons maintenant créer un boxplot détaillé qui affiche :

  • Les quartiles (Q1-Q3)
  • La médiane
  • La moyenne
  • Les valeurs extrêmes
AstuceExercice

Parmi les statistiques précédentes, laquelle n’est habituellement pas affichée dans une boîte à moustaches ?

Avant de partir en Antarctique, la chercheuse vous a laissé un bout de code, vraisemblablement un début de travail qu’elle souhaitait faire.

ggplot(penguins_mission, aes(x = species, y = bill_length_mm, fill = species)) +
  geom_boxplot(alpha = 0.5) +
  stat_summary(fun = mean, geom = "point", shape = 23, size = 4, fill = "red") +
  labs(title = "Longueur du bec des manchots par espèce",
       x = "Espèce",
       y = "Longueur du bec (mm)") +
  theme_minimal()

Boîte à moustaches de la longueur du bec par espèce avec un point rouge indiquant la moyenne.

Instructions laissées par la chercheuse

Pour connaître la tâche optionnelle de la chercheuse :

[1] "J'ai commencé à faire le ggplot, mais il resterait a ajouter une annotation indiquant la valeur moyenne de chaque espèce sur le graphique."
AstuceExercice

Complétez le code ggplot2 de la Dre Adélie afin de répondre à sa demande. Incluez cela dans votre journal de bord. Dites en quoi ce graphique avancé peut aider à mieux comprendre les données.

Pensez à générer votre rapport, committer vos modifications et pousser sur GitHub pour garder une trace de votre travail !

Félicitations ! Vous avez maintenant terminé la partie 1 de cette aventure. Vous pouvez aller vous reposer un peu avant la prochaine partie de cette mission !

ImportantJules – Quand faire un commit ?

À quel moment devrais-tu faire un commit Git ?
1. Une fois à la toute fin du projet
2. À chaque fois que tu ajoutes un graphique
3. Régulièrement après chaque étape importante
4. Seulement après une erreur

Tu dois faire un commit après chaque étape significative (import, filtre, graphique, analyse).
Cela assure la traçabilité, et te sauvera du stress si tu dois revenir en arrière.

Le retour de la Dre Adélie Fortier ! (2e partie de l’aventure)

Après plusieurs semaines en Antarctique à observer les manchots, notre chercheuse est de retour avec plein de nouvelles questions en tête. Elle a remarqué que certaines espèces semblaient avoir des caractéristiques bien distinctes, mais elle aimerait une analyse plus approfondie qui l’aidera à obtenir une nouvelle subvention pour son projet de recherche.

La page de consignes du défi est disponible ici : Défi du module 2.

Rappel des livrables de la deuxième partie :
Un rapport structuré et complet, nommé rapport_analyse.qmd, répondant à ses nouvelles demandes précises, incluant :

  • Des visualisations ciblées.

  • Des analyses précises basées sur vos découvertes antérieures.

  • Une mise en forme professionnelle (titre, légendes, axes lisibles, cohérence graphique).

  • Un suivi rigoureux via GitHub, incluant plusieurs commits bien commentés.

  • Des réponses claires aux tâches ci-dessous.

  • Une version HTML rendue, nommée rapport_analyse.html.

Note : vous devez bâtir vous-même votre rapport Quarto pour l’aider dans sa demande de subvention. Commencez par créer un nouveau fichier Quarto, par exemple rapport_analyse.qmd.

Sa question principale : comment les caractéristiques physiques des manchots varient-elles selon les espèces ?

Pour l’aider, vous réaliserez une analyse complète, en mobilisant toutes les compétences acquises dans ce module.

AstuceÉtape 0

Avant de produire le rapport final, reprenez les valeurs aberrantes repérées dans la partie 1.

Tâches :

  • Identifiez les observations problématiques dans le rapport.

  • Expliquez si vous les conservez, les retirez ou les signalez seulement dans les analyses.

  • Appliquez ce choix de manière cohérente dans les graphiques et les statistiques descriptives.

AstuceQuestion 1

Existe-t-il des différences notables entre les espèces de manchots ?

Pour y répondre, vous devez explorer les différences entre les caractéristiques physiques des trois espèces.

Tâches :

Calculez la moyenne et l’écart-type des variables suivantes par espèce :

  • Longueur du bec (bill_length_mm)

  • Profondeur du bec (bill_depth_mm)

  • Longueur des nageoires (flipper_length_mm)

  • Masse corporelle (body_mass_g)

Affichez les résultats sous forme de tableau clair.

Indice : utilisez group_by() et summarise() de dplyr pour obtenir ces statistiques.

AstuceQuestion 2

Peut-on identifier un indicateur de “grandeur” du manchot ?

La chercheuse aimerait une nouvelle variable qui pourrait représenter la taille globale d’un manchot.

Tâches :

  • Créez une nouvelle variable indice_grandeur, définie comme la somme de :

    • La longueur des nageoires (flipper_length_mm)

    • La longueur du bec (bill_length_mm)

  • Ajoutez cette variable au jeu de données et affichez quelques valeurs pour vérifier son calcul.

Indice : utilisez mutate() pour ajouter la variable à votre tableau de données. Si vous décidez de retirer une observation aberrante, appliquez ce choix avant de calculer l’indice.

AstuceQuestion 3

Comment ces caractéristiques sont-elles réparties entre les espèces ?

Pour mieux visualiser les différences entre les espèces, la chercheuse vous demande de créer des graphiques.

Tâches :

  • Un histogramme de la longueur du bec (bill_length_mm) par espèce.

  • Un nuage de points montrant la relation entre indice_grandeur et la masse corporelle (body_mass_g), en colorant par espèce.

Attention, n’oubliez pas vos bonnes pratiques de visualisation : titres informatifs, axes lisibles, légendes claires et choix cohérent des couleurs.

Conclusion

  • Que remarquez-vous ?

  • Quelles sont les différences les plus marquantes entre les espèces ?

Pensez à générer votre rapport, committer vos modifications et pousser sur GitHub pour garder une trace de votre travail !


Trace portfolio

Gardez une preuve compacte de votre progression dans cette mission scientifique.

  • le journal de bord Quarto de la première partie;
  • deux graphiques commentés sur les manchots;
  • un résumé descriptif qui répond à une question de la Dre Adélie;
  • quelques commits Git qui montrent l’évolution de votre travail.

Mission réussie ! Vous avez aidé la Dre Adélie Fortier à analyser les données des manchots avec succès !

GPT STT-1100