Formation · Intermédiaire · Restitution et diffusion
Chaînes d'analyse reproductibles
Rendre l'analyse réexécutable par la personne qui vous remplacera — gestion de versions, environnements figés, rapports paramétrés et une organisation de projet qui survit à une passation.
Ce que vous saurez faire
- Organiser un projet pour que les données brutes soient en lecture seule, les données dérivées jetables et le code la seule chose éditée
- Employer git sur un travail d'analyse, et tenir les données de bénéficiaires hors d'un dépôt définitivement
- Figer un environnement pour que l'ordinateur d'un collègue produise vos nombres
- Trouver et supprimer ce qui fait différer une réexécution — l'horloge, la graine, la locale, l'ordre des fichiers
- Produire douze rapports de district depuis un seul modèle paramétré
- Écrire une passation sur laquelle un successeur peut agir, et une vérification qui échoue bruyamment quand l'export amont casse
Normes et méthodologies
Une analyse que vous seul pouvez réexécuter est un brouillon. Le test n’est pas de savoir si elle fonctionne — c’est de savoir si elle fonctionne encore dans onze mois, sur l’ordinateur de quelqu’un d’autre, après votre départ, quand le fichier source a changé et que personne ne se rappelle de quel onglet venaient les nombres.
Ce cours a ceci d’inhabituel que son exemple travaillé n’est pas un jeu de données. La plateforme que vous lisez est l’étude de cas, et chaque affirmation de la dernière leçon se vérifie sur ce dépôt.
Trois de ces affirmations structurent tout le cours.
Vingt fichiers de données, dix-sept scripts générateurs, et les régénérer tous ne
change rien. pnpm datasets:generate réécrit chaque CSV depuis un script à graine
fixe, et git status ensuite ne signale aucun fichier modifié. C’est ce que
« reproductible » signifie opérationnellement : réexécuter est une étape de
vérification, non seulement de production.
Vingt fichiers de tests et 4 212 assertions, exécutés avant chaque compilation. Ils vérifient ce qu’un schéma ne peut pas — qu’un nombre de lignes déclaré correspond au fichier sur le disque, qu’une leçon française référence la figure française, que chaque cours publié livre ses deux éditions PDF. La règle qu’ils encodent : tout champ nommant un fichier livré exige un test à côté, parce qu’un chemin dans un frontmatter est une chaîne de caractères et que rien dans une compilation ne peut dire s’il pointe vers quelque chose.
Un schéma qui refuse les données non synthétiques. dataQuality.synthetic doit
valoir true ou la compilation échoue, ce qui fait de « aucun enregistrement ne
remonte à une personne réelle » une propriété du dépôt plutôt qu’une promesse dans une
note — le même geste que produire les données plutôt que les collecter.
Python et R tout du long, avec uv et renv comme outils d’environnement et Quarto
pour les rapports paramétrés. Il vous faut Nettoyage et validation des données
d’abord : ce cours porte sur la façon de rendre une chaîne réexécutable, et la chaîne
qu’il suppose est celle que ce cours-là construit.
Mise en pratique
Lire les leçons ne remplace pas la pratique. Chacun de ces travaux applique la formation à un jeu de données sur lequel elle n'a pas été enseignée.
- Atelier · 180 minFaites-le tourner sur l'ordinateur de quelqu'un d'autreOn vous remet une analyse qui fonctionne, dans un seul carnet, avec des chemins codés en dur, aucun fichier d'environnement et un graphique exporté à la main. Transformez-la en quelque chose qu'un collègue peut cloner et exécuter — et prouvez-le en l'exécutant là où elle n'est jamais allée.
- Exercice · 60 minLe nombre que personne ne peut reproduireUn rapport dit 12,4 % et l'analyste est parti. Le carnet produit 11,8 %, le tableur dit 12,9 %, et la seule chose sur laquelle tout le monde s'accorde est que le rapport est ce que le ministre a vu. Vous avez un après-midi pour établir lequel est juste.
Progression
Emporter hors ligne
L'intégralité de la formation en PDF composé — chaque leçon, chaque exemple de code, le dictionnaire des variables et les définitions d'indicateurs. Produit à partir de la même source que cette page.
La source LaTeX accompagne chaque PDF, afin qu'une organisation puisse adapter le support à sa charte ou intégrer une leçon à son propre kit de formation.