# Module 3 : TP analyse réplicable ## C coi 1 analiz réplicab Anciennement, on se concentrait sur le résultat, avec un résumé méthodologique, avant de passer à la discussion. En réplicable, on remplaace ce vil résumé par l'intégralité du code, accompagné d'une explication détaillée des choix faits à chaque étape. C'est plus dur à faire... Mais c'est plus facile à refaire si les données changent, plus facile à modifier, plus facile à inspecter et vérifier. Note : on pourrait se dire que la valeur ajoutée est dans l'explication des choix techniques... mais c'est bien l'accessibilité qui est d'abord en jeu. Pense à l'effort que ça t'a pris de vérifier qu'on pourrait faire tourner ton expé depuis un autre ordinateur... sans même avoir de test "fiable" pour s'assurer que le comportement applicatif reste le même d'une machine à l'autre. ## Étude de cas : la grippe réseau Sentinelles (méd généralistes) tableaux de données disponibles ! Une donnée manquante sur une semaine, dont il ne s'émeut point. => ne pas supprimer la ligne à la main !! Du code pour tout ! (Note de réplicabilité : ils tiennent à jour ! le format pour récupérer les données a changé, et ils ont dû aussi modifier leur code.) Utilisent un format ISO des numéros de semaines, c'est dans l'esprit :geek: ## import des données, Jupyter lib : pandas, matplotlib et isoweek [Pour l'instant, je suis assez déçu par ma version de jupyter lab, qui est moins belle.] Il préfère que je mette le lien directement dans le code, sans faire référence à mon import dans mon dossier... certes. Le jour où je suis lu. ## vérification et inspection des données On parle de "pré-traitement" des données, ici en particulier de conversion (dans des formats plus catholiques), en vue de pouvoir afficher. "La" vérification ici, c'est la validation des écarts de semaine (+l'inspection visuelle). ## passer les données à la question Si on veut analyser par année, on a un pb con : les années ne contiennent pas un nombre entier de semaine ^^ 1. pour chaque année, trouver la semaine qui contient le 1er août 2. sommer les incidences à partir de cette semaine, afin de construire notre repr° annuelle (vu qu'il y a moins d'incidence en été, ça minimise le biais) Au fait, la première question qu'on se pose, c'est : quelles sont les plus grandes années d'épidémie ? Bref. Voir leur version finale pour se galvaniser. (Version qui me rassure sur le "bug" de l'an 1984. Ils le résolvent aussi.) Morale : il faut présenter toutes les étapes de traitement sous forme éxécutable, expliquer ses choix (donc exposer du détail technique) car c'est à ce niveau qu'on fait le plus d'erreurs. ## Exercices Trrrraaahison ! il dit que mettre le lien dans le code, finalement c'est pas bien. :'( Leur correction est nulle : cette [source](https://stackoverflow.com/questions/82831/how-do-i-check-whether-a-file-exists-without-exceptions) indiscutable me dit qu'il faut éviter de faire des `os.path.exists` et que les `try`/`catch`c'est mieux. D'ailleurs la sauvegarde n'est pas dans son code, seulement la lecture, c'est une moins-value. (Et merde, l'opération m'a semblé tellement basique que je ne l'ai pas commentée.)