Pensée computationnelle avec R

De EduTech Wiki
Aller à la navigation Aller à la recherche

Cet article est en construction: un auteur est en train de le modifier.

En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.



Introduction

R est un langage de programmation, un logiciel et un environnement informatique open-source très utilisé dans le cadre du data science et autour duquel il existe un vaste écosystème de ressources qui ne se limitent pas seulement aux analyses statistiques traditionnelles. Parmi ces ressources on trouve notamment la visualization des données ; l'acquisition et nettoyage automatisés de données depuis différentes sources ; des workflow pour la création et la publication de report scientifiques (articles, sites web, documentation technique, etc.) ; ou encore des applications interactives. R est également de plus en plus utilisé dans l'enseignement, grâce surtout à sa licence open-source, et des nombreuses ressources, livres, manuels et tutoriels sont aujourd'hui disponibles, souvent en libre accès.

Nous proposons ici une collection de ressources dont l'objectif est d'insérer l'utilisation de R dans le contexte plus vaste de la pensée computationnelle que nous identifions comme un ensemble d'habiletés, compétences et procédures qui facilitent la résolution de problèmes en s'appuyant sur des principes tirés des sciences informatiques. Cette approche nous semble utile surtout à deux types de destinataires dans le cadre des sciences sociales :

  1. Des (jeunes) chercheurs qui ont déjà une certaine expérience dans le data science, par exemple avec des logiciels traditionnels (e.g. SPSS, Statistica, ...), mais qui ont rencontrés des limites dans leurs processus d'analyses et de reporting et qui veulent explorer des outils plus flexibles ;
  2. Des formateurs qui utilisent R pour des analyses spécifiques à leur champ d'intérêt, mais qui n'ont pas le temps de créer et maintenir des ressources plus fondamentales sur les enjeux techniques (e.g., installation sur différents systèmes d'exploitation) et conceptuels (e.g. pensée symbolique, logique, input/output) dérivant de l'utilisation du codage au lieu du pointer-cliquer.

Une approche à R basée sur la pensée computationnelle présente les avantages suivants :

  • Elle permet de départager et mieux comprendre les différentes composantes de R (langage de programmation, environnement/interprète de codage, écosystème de ressources, ...) ;
  • Elle explique les raisons d'une certaine complexité intrinsèque et pratiques différentes dans l'utilisation de R qui peuvent décourager les personnes, surtout à un stade initial ;
  • Elle favorise des pratiques d'automatisation et organisation des processus de travail qui peuvent être exploitées dans une perspective Open Science.

Objectifs

Les objectifs de la pensée computationnelle avec R peuvent se diviser en deux catégories :

  1. Un objectif principal
  2. Des sous-objectifs nécessaires ou corollaires à l'objectif principal

Objectif principal

L'objectif principale peut se synthétiser de la manière suivante :

Sensibiliser à l'importance d'adopter des processus de travail transparents, ouverts et faciles à répliquer par d'autres chercheurs.

Sous-objectifs

Pour atteindre l'objectif principal, les connaissances et compétences sont nécessaires ou corollaires :

  • Écrire et lire du code
    Le code, même si difficile à apprendre, représente à présent la meilleure solution pour garder trace des différentes opérations effectués et permet de les sans intervention humaine, ce qui est censé limité des sources d'erreur.
  • Organiser et structurer les fichiers
    Un projet de recherche se compose souvent de différents types de fichiers (données, graphiques, articles, ...). Grâce à l'automatisation des processus, ces composantes peuvent s'intégrer de manière plus simples à gérer et à partager.
  • Écrire et lire de la documentation technique
    L'utilisation de R comporte la nécessité de lire de la documentation technique, par exemple pour comprendre le fonctionnement du langage ou de paquets externes qui permettent de mener une opération particulière. De plus, pour rendre un projet de recherche transparent et facile à répliquer, il faut documenter son propre code.

Organisation des ressources

Les ressources sont divisés en trois types :

  1. Un parcours guidé destiné surtout à des personnes qui n'ont pas une expérience préalable avec un langage de programmation ;
  2. Des tutoriels ponctuels qui illustrent des applications concrètes de R pour une finalité plutôt spécifique ;
  3. Une collection de références externes qui peuvent être utiles pour approfondir certaines thématiques.

Parcours guidé

Le parcours guidé vise à illustrer l'utilisation de différentes éléments de l'écosystème de R pour les étapes communes à l'activité du data science :

  • Importation, manipulation et nettoyage des données
  • Visualization des données et analyses exploratoires
  • Modélisation des données (e.g. analyses inférentielles)
  • Publication et partage des résultats

Le parcours est organisé en modules :

  1. Mise en place d'un environnement de travail avec R
    Les différentes possibilités qui sont offertes aux chercheurs pour utiliser R sont illustrées : (i) installation sur leur propre ordinateur, (ii) mise en place d'un serveur pour une équipe/labo, ou (iii) utilisation des services cloud. Nous proposons également des ressource sur RStudio, un logiciel qui permet d'intégrer plusieurs aspects de l'écosystème de R, et Git, un système de gestion des versions, utilisé surtout dans le développement, mais qui est de plus en plus utilisé également dans la recherche.
  2. Introduction conceptuelle à R
    L'articulation entre langage de programmation, environnement et écosystème sera expliquée de manière détaillée. Pour ce faire, des concepts fondamentaux comme variables, fonctions, structures de contrôle, etc. seront abordées. La notion de paquet sera également introduit en tant que composante essentielle de l'ecosystème de R.
  3. Introduction à Tidyverse
    Tidyverse est une collection de paquets qui partagent la même philosophie et une syntaxe similaire. Tidyverse permettra d'aborder l'importation, la manipulation et le nettoyage des données, ainsi que la visualisation des données, notamment à travers ggplot, un système de création de graphique basée sur une grammaire bien précise.
  4. Introduction à la modélisation des données avec R
    L'objectif de cette partie du parcours est de montrer comment R, ainsi que la plupart des paquets qui s'occupent de la modélisation des données, conçoit les test statistiques d'un point de vue technique. En d'autres termes, il ne sera pas le cas de montrer quel test statistique il faut utiliser ou de proposer des notions théoriques sur l'analyse inférentielle. Au contraire, il sera illustré comment les résultats des tests peuvent être récupérés, maniés et réutilisé en tant qu'éléments symboliques.
  5. Introduction à l'analyse de texte avec R
    Cette partie montrera que R ne se limite pas à des analyses quantitatives, mais peut être également adopté pour des analyses qualitatives.
  6. Introduction à Rmarkdown
    Rmarkdown regroupe des éléments syntaxiques et procéduraux pour la création automatisée de reports scientifiques (articles, présentations, pages web, ...) dans une perspective de réplicabilité.

Tutoriels R

À faire...

Ressources R

À faire...