Assignation de codage
Complétez l’exercice de codage du pré-programme pour vous (re)familiariser avec certaines bases de R
et python
Pré-requis
Malgré la diversité des parcours, nous souhaitons que tous les participants se familiarisent avec certaines compétences de programmation, dont la plupart sont nécessaires pour réaliser le travail de codage préalable au programme.
Si vous n’êtes pas familiarisé avec l’une des compétences figurant dans le tableau ci-dessous, veuillez consulter les tutoriels autodirigés sur les liens fournis pour apprendre.
Python | R |
---|---|
|
|
Tutoriels autodirigés “Introduction à Python” | Tutoriels autodirigés “Apprendre R” |
Aperçu de l’exercice
Ce travail est conçu pour passer en revue les compétences de base en codage R
et python
que vous utiliserez tout au long du programme. Il ne s’agit pas d’un test, mais plutôt de la première composante du programme technique, à travers laquelle nous développons ces compétences parallèlement à des techniques de modélisation plus avancées.
Le premier devoir vous demande de démontrer votre capacité à utiliser les compétences pré-requises pour :
1. Utiliser python
pour “analyser” (traiter, nettoyer et fusionner) des données provenant de plusieurs fichiers afin de produire une seule feuille de calcul.
2. Utiliser R
pour manipuler, résumer et tracer les données de sortie nettoyées de la partie 1.
Ce travail est à rendre à la fin de la semaine 0.
Suivre?
- Révisez les tutoriels dans le tableau ci-dessus
- Postez sur le canal Slack de la FE-2023
- Nous tiendrons des heures de bureau (virtuelles) au cours de la semaine 0 pour répondre aux questions et apporter notre aide !
Instructions
Partie 0. Obtenez une copie des données de l’exemple
Allez sur le référentiel des devoirs de codage
Obtenez une copie locale du dossier
example_data/
.- Téléchargez et décompressez le dossier dans un nouveau dossier sur votre ordinateur, …
/projet_dir
- Téléchargez et décompressez le dossier dans un nouveau dossier sur votre ordinateur, …
Examinez un exemple de fichier
output.csv
provenant du dossierexample_data/
. Vous devrez cliquer sur certains sous-dossiers pour en voir un. Ceci est courant pour les sorties du modèle EMOD, avec lequel vous allez bientôt vous familiariser !- En réalité, les fichiers de sortie d’EMOD peuvent être des dictionnaires .json ou des fichiers binaires .bin, en plus des feuilles de calcul .csv. Toutefois, pour simplifier la tâche, nous avons créé quelques “faux” fichiers de sortie sous une forme plus facile à utiliser.
- Chaque fichier output.csv contient des séries chronologiques quotidiennes de 3 variables dépendantes [Var1, Var2 et Var3] pour une combinaison spécifique des variables de regroupement [Site, Numéro de l’essai et Bras]
- En réalité, les fichiers de sortie d’EMOD peuvent être des dictionnaires .json ou des fichiers binaires .bin, en plus des feuilles de calcul .csv. Toutefois, pour simplifier la tâche, nous avons créé quelques “faux” fichiers de sortie sous une forme plus facile à utiliser.
Partie 1. Python - analyser des données d’exemple
Créez un nouveau fichier
my_python_script.py
dans le même/project_dir
où vous avez sauvegardé le dossierexample_data
La structure de votre répertoire devrait être la suivante :
projet_dir/
example_data/
- …
- …
my_python_script.py
Importez les modules suivants :
pandas
,numpy
,os
Combinez les données du fichier
output.csv
dans chaque sous-dossierexample_data/simulation/
dans un seul DataFrame, avec les modifications suivantes :- Conserver toutes les variables de regroupement (“Day”, “Site”, “Trial_Number” et “Arm”).
- Limiter l’inclusion des valeurs aux 365 derniers jours.
- Enregistrer les valeurs de “Var1” et “Var3” dans chaque groupe.
- Ne pas sauvegarder les valeurs des autres variables qui auraient pu se trouver dans
output.csv
!
- Ne pas sauvegarder les valeurs des autres variables qui auraient pu se trouver dans
- Ajoutez les résultats de toutes les simulations ensemble.
- Conserver toutes les variables de regroupement (“Day”, “Site”, “Trial_Number” et “Arm”).
Sauvegardez le DataFrame résultant comme
output_cleaned.csv
Partie 2. R - transformer et visualiser les résultats
**Avez-vous généré la sortie de la partie 1 ?
*Cela doit être fait avant de commencer la partie 2.
Votre structure de répertoire devrait maintenant être :
projet_dir/
example_data/
- …
- …
my_python_script.py
output_cleaned.csv
- Ouvrez Rstudio : Fichier > Nouveau projet > Répertoire existant >
projet_dir
- Créez un nouveau fichier
my_R_script.Rmd
ou un scriptmy_R_script.R
dansproject_dir
pour faire ce qui suit :Lire le fichier output_cleaned.csv
Agréger le nombre, la moyenne et l’écart type de Var1 et Var3 (séparément) chaque jour pour un Site donné.
- Cette opération regroupera tous les numéros d’essai et les bras.
Utilisez mutate pour ajouter des intervalles de prédiction supérieurs et inférieurs à 95 % autour de la moyenne quotidienne de Var1 et Var3 pour chaque site.
- moyenne ± 1,96 * sd ÷ √n
Utilisez
ggplot2
pour produire des graphiques des données :- Jour sur l’axe des x, Var# sur l’axe des y
- Lignes et couleurs séparées pour chaque variable dépendante (Var 1 et Var 3)
- Facettes distinctes pour chaque site
- Un titre informatif, des étiquettes, une légende, une palette de couleurs, etc.
- Vous n’avez pas besoin de passer beaucoup de temps sur l’apparence du graphique pour ce travail, mais il s’agit d’une partie importante de la communication de nos résultats.
Sauvegardez vos graphiques sous forme de fichiers
.png
dansproject_dir/
avec un nom de fichier descriptif (ex. “Variables1-3_by_Site.png”).
Partie 3. Soumettre à Slack
Postez votre (vos) tracé(s) sur le canal Slack de FE-2023 pour obtenir un retour d’information.
- Comment se compare-t-il aux autres ?
- Si quelque chose vous semble anormal, quelle en est la cause selon vous ?
- Pour plus de pratique : Essayez de créer les graphiques en utilisant différentes variables de regroupement (ex. Trial_Number, ou Arm) en plus ou à la place de Site.