subtitle: "M1 MAS -- Données : manipulation et visualisation"
author: Pierre Pudlo
institute: Aix-Marseille Université / Faculté des Sciences
engine: knitr
...
...
@@ -13,7 +13,7 @@ format:
toc: false
---
Ce TP est constitué de deux parties de 2h chacune environ. Il y a un élément à rendre sur Ametice pour chaque partie du TP. Il est conseillé d'utiliser les ordinateurs sous `Windows` en salle TP. Vous pouvez utiliser vos propres ordinateurs.
Ce TP est constitué de deux parties de 2h chacune environ. Il y a un élément à rendre sur Ametice à la fin du TP. Il est conseillé d'utiliser les ordinateurs sous `Windows` en salle TP. Vous pouvez utiliser vos propres ordinateurs.
# Partie A : prise en main
...
...
@@ -24,6 +24,7 @@ Ce TP est constitué de deux parties de 2h chacune environ. Il y a un élément
SAS | RStudio | VSCode | Anaconda Navigator | Excel
2. Dans **VSCode**, vérifier que les extensions suivantes sont installées :
En utilisant `conda` dans ce répertoire, lister les packages installés, ainsi que les environnements existants. Installer les packages pour faire du `git` avec `conda`.
4. En utilisant `conda` dans ce répertoire, lister les packages installés, ainsi que les environnements existants. Installer les packages pour faire du `git` avec `conda`.
## Mise en place des TP
4. Se connecter à [Etulab](https://etulab.univ-amu.fr) et créer un projet pour ce cours, nommé `MAS-Donnees-votrenom`. Ajouter un fichier `README.md` avec une description du projet.
5. Se connecter à [Etulab](https://etulab.univ-amu.fr) et créer un projet pour ce cours, nommé `MAS-Donnees-votrenom`. Ajouter un fichier `README.md` avec une description du projet.
$\implies$ vous utiliserez ce dépôt pour sauvegarder votre travail.
Cloner ce dépôt sur votre ordinateur en utilisant `git` en ligne de commande ou Github Desktop ou un autre IDE de votre choix.
5. Mise en place d'un environnement de travail pour le cours
6. Mise en place d'un environnement de travail pour le cours
Télécharger les données du TP en utilisant `git` avec la commande ci-dessous :
```bash
...
...
@@ -62,3 +65,92 @@ Ajouter ce fichier dans votre dépôt et faire un `commit` et un `push`.
# Partie B : utilisation d'Excel
## Importation des données
- Créer un nouveau classeur Excel
- Importer le fichier `airlines.csv` dans un onglet `airlines` de ce classeur :
- vérifier que les données sont bien importées
- ajouter des formats aux colonnes si besoin
- transformer en tableau avec entête nommé `airlines`
Ce jeu de données permet de faire le lien entre un code, et le nom d'une compagnie aérienne.
- Importer le fichier `flights.csv` dans un onglet `flights` de ce classeur (voir la fin du sujet pour une description des données) :
- vérifier que les données sont bien importées
- ajouter des formats aux colonnes si besoin
- transformer en tableau avec entête nommé `flights`
Est-ce qu'il y a des données manquantes dans la colonne `arr_delay` ? Si oui, comment sont-elles codées ? Quelle est la proportion de ces données manquantes ?
## Premières manipulations sur Excel
L'objectif ici est de construire un premier tableau de bord sur les retards des vols à l'arrivée.
- Ajouter une colonne qui calcule la distance en kilomètres à partir de la distance en miles.
- Avec `recherchev` ou `index`/ `equiv`, ajouter une colonne qui donne le nom de la compagnie aérienne à partir du code de la compagnie
- Ajouter une colonne qui calcule la vitesse moyenne de l'avion en km/h. Ces données sont-elles réalistes ?
- Dans un nouvel onglet de tableau de bord, présenter (et calculer) à partir de la table `flights` :
- la distance moyenne parcourue, et l'écart-type (en km)
- la moyenne et l'écart-type des vitesses moyennes (en km/h)
- la proportion de données manquantes sur le retard à l'arrivée
- la proportion de retards supérieurs à 10 minutes (inclus)
- le retard moyen en minutes, en cas de retard, ainsi que l'écart-type
- Ajouter à cet onglet de tableau de bord un tableau croisé dynamique pour obtenir les retards moyens (en cas de retard) par compagnie (en ligne) $\times$ mois (en colonne)
- Compléter le tableau de bord avec un tableau croisé dynamique des retards moyens (en cas de retard) par compagnie (en ligne) $\times$ aéroport de départ (en colonne : JFK, LGA et EWR)
- Ajouter une ligne dans le tableau de bord qui indique clairement votre prénom/nom/groupe et la date de conception du tableau de bord.
- Vous pouvez ajouter votre fichier Excel au dépôt avec un `add`, `commit` et `push`.
Déposer le **fichier Excel** sur **Ametice** pour évaluation. Vous serez juger sur :
- la justesse du travail fait
- qualité de l'import
- qualité de la jointure
- qualité des nouvelles colonnes
- qualité des tableaux croisés dynamique
- la qualité de présentation et la lisibilité du tableau de bord, ainsi que l'exactitude des chiffres fournis
# Annexe : Description du jeu de données `flights`
Données de ponctualité pour tous les vols ayant quitté NYC (c'est-à-dire JFK, LGA ou EWR) en 2013.
- `year`, `month`, `day` : Date de départ.
- `dep_time`, `arr_time` : Heures de départ et d'arrivée réelles (format HHMM ou HMM), heure locale.
- `sched_dep_time`, `sched_arr_time` :
Heures de départ et d'arrivée prévues (format HHMM ou HMM), heure locale.
- `dep_delay`, `arr_delay` :
Retards au départ et à l'arrivée, en minutes. Les temps négatifs représentent des départs/arrivées en avance.
- `carrier` :
Abréviation à deux lettres de la compagnie aérienne. Utiliser les données `airlines` pour obtenir le nom.
- `flight` :
Numéro de vol.
- `tailnum` :
Numéro de queue de l'avion. Utiliser les données `planes` pour des métadonnées supplémentaires.
- `origin`, `dest` :
Origine et destination. Utiliser les données `airports` pour des métadonnées supplémentaires.
- `air_time` :
Temps passé dans les airs, en minutes.
- `distance` :
Distance entre les aéroports, en miles.
- `hour`, `minute` :
Heure de départ prévue décomposée en heures et minutes.
- `time_hour` :
Date et heure prévues du vol sous forme de date POSIXct. Avec `origin`, peut être utilisé pour joindre les données de vols aux données météorologiques.