Formation · Intermédiaire · Préparation des données
Jointures et restructuration des données de programme
Listes de ménages et de membres, groupes répétés, admissions et sorties, et agrégats mensuels qui doivent s'aligner sur un dénominateur de population.
Ce que vous saurez faire
- Choisir un type de jointure à partir de ce que vous voulez voir vérifié dans le résultat, et prouver ensuite que ce l'était
- Énoncer la granularité de chaque table que vous manipulez, et agréger à cette granularité avant la jointure plutôt qu'après
- Passer délibérément du format long au format large, et défaire le groupe répété aplati qu'exporte une plateforme de collecte
- Rattacher un dénominateur de population issu d'une base administrative, et défendre le dénominateur retenu
- Construire une grille de périodes complète pour qu'un mois jamais rapporté soit visible au lieu d'être absent
- Rapprocher un registre ligne à ligne de l'agrégat remonté, et publier l'écart
Normes et méthodologies
Presque aucune question de programme ne trouve sa réponse dans un seul fichier. Les enfants sont dans le registre de dépistage et la population dans la projection du recensement. Les ménages sont dans un export et leurs membres dans un autre. Le registre journalier est dans la tablette et le chiffre mensuel dans DHIS2, et les deux ne concordent pas.
Ce cours porte sur leur assemblage. Il est plus court que le cours de nettoyage et plus difficile, car le mode de défaillance diffère — un défaut de nettoyage rend une valeur fausse, et on peut généralement le voir. Un défaut de jointure rend un nombre de lignes faux, et il n’y a rien à voir : ni erreur, ni avertissement, ni valeur implausible. Une jointure à gauche qui ajoute 120 lignes et un plusieurs-à-plusieurs qui transforme 70 245 lignes en 3,5 millions produisent l’un comme l’autre une table qui ressemble exactement à une table.
La discipline est donc énoncée d’emblée et répétée dans chaque leçon — dites ce que la jointure doit faire avant de l’exécuter, et prouvez ensuite qu’elle l’a fait. Les deux langages vérifient la relation pour vous si vous le demandez, et le demander coûte un argument.
Chaque technique est présentée en Python et en R, sur des jeux de données de la plateforme où le problème est réel — une liste d’élèves qui n’est pas unique sur son propre identifiant, une extraction de type DHIS2 dont la grille complète de douze mois masque quelles formations sanitaires sont restées silencieuses, et une enquête EAH dont l’analyse se fait par personne alors que les données sont par ménage.
Vous devriez avoir suivi Nettoyage et validation des données, ou avoir au moins pris l’habitude d’affirmer une clé avant de l’utiliser. Ce cours-là se termine là où celui-ci commence.
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 · 120 minLa jointure qui décide d'une prévalenceJoindre 930 enfants d'une enquête SMART à la table de référence OMS 2006 sur une clé en trois parties dont l'une est un décimal arrondi et l'autre dérivée d'une troisième colonne. Quatre enfants ne s'apparient pas, et ces quatre-là sont le constat.
- Exercice · 45 minLes trois écoles du bas de tableauUn classement envoie une équipe d'appui aux trois écoles les moins assidues. Les trois y figurent à cause d'une décision de jointure, et l'école qui a réellement la pire assiduité arrive quatrième.
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.