Ressources numériques en sciences humaines et sociales OpenEdition Nos plateformes OpenEdition Books OpenEdition Journals Hypothèses Calenda Bibliothèques OpenEdition Freemium Suivez-nous

Collecter, visualiser, analyser des données législatives avec R

Il y a quelques semaines, j’ai eu la chance de pouvoir enseigner deux jours à Bordeaux, sur le sujet qui donne son nom à ce billet. La formation était organisée par l’URFIST Bordeaux, qui a tout organisé de part en part : merci à Sabrina, tout, absolument tout (du logement à la logistique à la coordination pédagogique) était plus que nickel !

Évidemment, le matériau de réplication est sur GitHub :

Il y a deux ou trois sujets que j’aurais bien aimé couvrir (l’utilisation d’un headless browser comme CasperJS, par exemple), mais les étudiants1 avaient besoin d’outils plus ancrés dans la pratique du code dans R même. Cela attendra une autre formation.

Vous retrouverez, dans le matériau utilisé au fil de la formation, les slides de la séance “Web scraping et APIs” que j’avais donnée au séminaire RUSS (“R à l’usage des sciences sociales”) il y a quelques années — un autre excellent endroit pour partager des connaissances méthodologiques et techniques.

  1. Presque tous des doctorants, issus de disciplines allant du droit aux mathématiques en passant par les la démographie et les neurosciences (!). []

Annals of Youtube Science 2(4): Philosophie et technique des essais cliniques

On reprend la série, en bifurquant légèrement (mais légèrement seulement) par rapport aux enquêtes, le thème le plus traité dans les quelques billets de cette année.

Découvert grâce à une amie, les cours et conférences de Bruno Falissard (chaîne Youtube), qui couvrent de très nombreux sujets ayant trait à l’utilisation des statistiques en (bio)médecine. Sa série sur les essais cliniques, et donc l’évaluation des thérapies, est très intéressante1 et facile à suivre :

Bruno Falissard, qui est aussi l’auteur d’un manuel d’utilisation de R pour traiter des données biomédicales récoltées par questionnaires, est très pédagogue, et même souvent amusant lorsqu’il pointe les différents points aveugles des méthodes que l’on utilise pour fabriquer des résultats cliniques estampillés “gold standard“.

  1. À quelques approximations près dans le texte : Claude Bernard en mécaniste, par exemple, c’est peut-être un peu trop rapide. On pourra aussi contester certaines techniques évoquées par l’auteur, comme les corrections de Bonferroni, mais ce n’est pas de la faute de Bruno Falissard, qui reconnaît leur côté très “frustre” (mais qui est étonnamment plus dur, je trouve, avec les méta-analyses par réseaux. []

Statistics and the Political Sociology of Quantification, version 2018

Ce blog évoque assez régulièrement, et parfois conjointement, la quantification comme activité sociale d’une part, et les statistiques (ou l’analyse de données) d’autre part—sujets que j’ai pu combiner, ce semestre, sous la forme d’un enseignement de Master :

La formule du cours (moitié atelier pratique, moitié exposés) est encore un peu trop baroque à mon goût, et la bibliographie est excessivement francophone, en particulier au vu du public du Master visé, très internationalisé ; mais c’est la première version que je mets en ligne1.

Le versant qualitatif du cours est un simple remâché de l’agenda scientifique identifié il y a déjà bien longtemps par le regretté Alain Desrosières2 ; la version actualisée de cet agenda est, de mon point de vue, celui d’Espeland et Stevens, qui est le seul texte, avec un chapitre sur le jargon des statistiques, que je demande pour ce cours.

Le plan donne mes sources, dont un blog dont j’ai déjà parlé, celui du projet ACQUA (ex-AGLOS). J’ai encore des dizaines de dossiers de références diverses et variées à verser dans le plan de cours, ou directement dans le projet, qui possède un volet bibliographique. Tout ceci devra néanmoins attendre que les copies arrêtent de pleuvoir…

  1. J’ai déjà expérimenté avec une formule similaire l’an dernier. []
  2. Et par d’autres, bien sûr : Donald Mackenzie, Theodore Porter, James C. Scott, Libby Schweber, Harry Woolf… []

Code et données pour les sciences sociales (2) Automatisation

Une série de billets visant à commenter (pas à traduire) le guide de Gentkow et Shapiro (2014). Précédemment : Ép. 1 (Introduction), Ép. 1.5 (Informatique).

L’informatique utilise un principe simple : ne pas se répéter. Tout ce qui peut faire l’objet d’une automatisation doit l’être, afin d’éviter de perdre du temps à ré-implémenter quelque chose qui l’a déjà été par le passé, ou qui aurait pu être conçu de manière programmatique, c’est-à-dire automatisé.

Si l’on cherche à sophistiquer un peu ce mot d’ordre, on en arrive rapidement à des distinctions comme celle entre programmation impérative et programmation fonctionnelle, mais dans le contexte de la recherche scientifique, on a surtout besoin de formuler quelques principes plus généraux :

  • Comme pour une recette de cuisine ou une partition de musique, tout ce qui peut être automatisé, c’est-à-dire reproduit à partir d’un protocole d’enquête codifié et reproductible à l’identique, mérite de l’être, ne serait-ce qu’à des fins pédagogiques ou parce que la recherche requiert de fournir ces protocoles à des fins de publication ;
  • Tout ce qui peut être “scripté“, c’est-à-dire décrit comme l’exécution d’une suite d’étapes (les actes et les scènes au cinéma ou au théâtre), mérite aussi de l’être, afin d’en permettre la reproduction la plus simple et la plus rapide, et éventuellement, son amélioration future, dans un objectif de cumulativité.

Gentzkow et Shapiro donnent des exemples avec Stata : ils décrivent l’utilisation de scripts (do-files dans le jargon Stata) mis à la chaîne les uns des autres, dont l’exécution finale est déléguée à un script Windows. L’ensemble est aussi transparent que possible et devrait rester réplicable à l’identique quelques années au moins : mission accomplie.

Quand je code en R (exemple), je n’automatise quasiment jamais jusqu’à utiliser un Makefile, mais j’inclus toujours beaucoup de documentation sous la forme d’un ou plusieurs README, et laisse aussi souvent un fichier “make.r” qui remplit la fonction d’un “Makefile R” qui serait limité à l’exécution du code1

L’autre technique d’automatisation, probablement la plus moderne et la plus appropriée, consisterait à développer le principe des notebooks (documents dynamiques : voir Jupyter, knitr et R Markdown) jusqu’à ce qu’ils puissent générer des documents collant encore plus au format des textes scientifiques2.

C’est exactement ce qui est en train de se développer avec Radix for R Markdown, qui me semble extrêmement prometteur. Il faut aussi garder un oeil sur l’automatisation d’autres tâches que l’écriture, comme le peer review : la “chaîne de travail” du Journal of Open Source Software, entièrement conçue sur GitHub, est extrêmement innovante en la matière.

  1. Un Makefile, de même qu’un script R plus complet, aurait aussi la possibilité d’actualiser les résultats inclus dans les articles ou les slides liées au code. En attendant, cela fait longtemps que je me dis qu’il faudrait que j’écrive des Makefiles, et ne le fais jamais. []
  2. Stata vient aussi de se mettre aux documents dynamiques avec Markdown, mais traînera toujours derrière des langages plus flexibles et entretenus par des communautés d’utilisateurs plus larges et dynamiques. À ma connaissance, SAS et SPSS sont dans les choux… Fin de partie ? []

Open Data for Urban Research, version 2018

J’ai récemment donné ma séance de ce cours, organisé avec Joël et Samuel Goëta, les deux co-fondateurs de Datactivist, à Sciences Po Paris :

J’en avais déjà parlé, et peu de choses ont changé dans le plan de cours. En revanche, j’ai fait intervenir deux artistes, qui ont – excellemment – bien expliqué leur projet (en cours) de cartographie sensible de mon quartier parisien1, et j’ai complètement réécrit mes slides :

La séance s’est focalisée sur la visualisation spatiale, qui sert, évidemment, à faire des cartes, un sujet que je trouve très bien documenté en français((Voir par exemple le site Visionscarto et le blog Carnet (neo)cartographique.)), mais pas que : typiquement, beaucoup de réseaux, en tout cas dans les domaines qui m’intéressent, peuvent avoir une version “spatialisée”, c’est-à-dire où les coordonnées sont fixes et signifiantes.

Les slides contiennent quelques détails sur le projet de cartographie sensible mentionné plus haut, mais je ne veux pas trop en dire pour ne pas perturber leur travail.

Dans les slides, vous trouverez aussi notamment une mention de Magrit, l’excellent outil de cartographie en ligne produit par l’UMS RIATE, et quelques-unes des non moins excellentes slides d’Arthur Charpentier et al. sur “La ville en économie”.

Enfin, à la toute fin des slides, vous trouverez deux renvois vers deux petits exercices pratiques avec R, que je n’ai pas eu le temps de faire tourner en classe…

… mais qui suivent de près des billets plus complets, d’Arthur Charpentier (le même) pour la fameuse carte du choléra à Londres par John Snow en 1854, et de François Keck pour le package rleafmap, repéré sur le blog d’Arthur (encore lui).

  1. La Goutte d’Or, sur laquelle vient tout juste de sortir un très beau livre de photographies d’Elena Perlino (disclosure : j’ai participé à le financer). []