Utiliser R dans la recherche

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

Cet article vise à promouvoir l'utilisation de R dans la recherche en tant qu'outil qui facilite l'adoption de bonnes pratiques pour une Science Ouverte. Nous illustrerons une série d'avantages liés à l'utilisation de R à la fois au niveau individuel et collectif. Nous fournirons également des ressources pour approfondir le sujet.

Un autre article disponible dans ce wiki aborde l'utilisation de R dans l'enseignement et la formation :

Les deux pages sont liés à Pensée computationnelle avec R, une collection de ressources pour apprendre R dans le contexte des sciences sociales (voir également Pensée computationnelle en sciences sociales).

Note sur la référence à R

Par souci de brévité, nous allons faire référence simplement à R dans l'article, mais en réalité nous nous référons à l'ensemble d'un environnement de travail typique qui inclut d'autres éléments, comme par exemple RStudio. Pour plus d'informations sur l'environnement typique, voir :

Survol de l'utilisation de R dans la recherche

Nous proposons d'abord un survol de l'utilisation de R dans la recherche, pour ensuite traiter de manière plus approfondie certains aspects dans le reste de l'article.

Il existe différents domaines dans lesquels R est utilisé dans la recherche. Ces domaines ne sont pas mutuellement exclusifs et, au contraire, s'influencent réciproquement :

  1. Environnement de travail impliqué dans différents phases de la recherche, du traitement des données à la publication d'articles ou report scientifiques
    Plusieurs chercheurs utilisent R de manière quotidienne, que se soit pour recueillir, transformer, visualiser ou analyser des données, ou pour créer des reports scientifiques (articles, posts de blog, ...). Cette utilisation est particulièrement propice aux principes de Open Science relatifs à la réplicabilité computationnelle (également appelée souvent reproductibilité) des analyses statistiques effectuées dans les contributions scientifiques. Le fait que R soit gratuit et multi-plateforme le rend une sorte de lingua franca dans certaines disciplines académiques.
  2. Écosystème de partage de paquets pour mener à bien des analyses ou opérations communes ou spécifiques à des domaines de recherche
    La recherche dans différents domaines, y compris les sciences sociales, repose de plus en plus sur des principes et techniques computationnels. R représente à cet effet un environnement propice pour créer et partager des paquets à partager entre chercheurs. Ces paquets sont souvent l'objet d'articles dans des revues et comptent par conséquent comme des contributions scientifiques à part entière.
  3. Outil cognitif pour véhiculer des bonnes pratiques à travers des tutoriels
    L'une des conséquences du point précédent consiste dans la nécessité de compétences et savoir-faire computationnels croissants. À cet effet, R représente souvent un choix populaire pour véhiculer des bonnes pratiques ou montrer l'application concrète de principes ou méthodologies de recherche.
  4. Simulations et applications interactives
    R étant à la base un langage de programmation à part entière, il permet de créer des simulations et applications interactives à utiliser pour des finalités de recherche. Par exemple, à travers la technologie Shiny, il est possible de créer et publier dans le web des applications interactives qui permettent de déterminer l'échantillon nécessaire pour des analyses statistiques, visualiser des jeux de données multidimensionnels, etc.
  5. Instrument de contrôle de qualité des contributions scientifiques et de démasquage de questionable research practices (pratiques de recherche douteuses)
    Il existe des paquets de R qui permettent d'identifier dans les articles scientifiques des erreurs dans le report de résultats statistiques ou de mettre en question des résultats too good to be true.

Environnement de travail day-to-day

Contrairement à des logiciels exclusivement dédiés aux analyses statistiques comme SPSS, c'est-à-dire impliqué seulement dans un processus spécifique de la recherche, R propose un plus large éventail d'utilisations quotidiennes à différents stades d'une recherche.

Récolte de données digitales

R est souvent utilisé pour la récolte de données digitales. Bien que R permet des importations classiques de données depuis un fichier rectangulaire (organisés en lignes et colonnes) depuis différents formats, l'utilisation de R devient plus intéressantes dans les cadres suivants :

  • Importation de larges datasets
  • Importer plusieurs fichiers en même temps
  • Récolte des empreintes digitales (e.g. web scraping)

Importation de larges datasets

Importer plusieurs fichiers en même temps

Récolte des empreintes digitales

Les empreintes digitales, ou digital footprints en anglais, sont de plus en plus utilisées dans la recherche en sciences sociales. Ces données, représentées par des traces que les utilisateurs disséminent dans les différents environnements en ligne (sites, réseaux sociaux, forum, ...), peuvent atteindre des volumes qui nécessitent une extraction automatisée.

En tant que langage de programmation, R permet de planifier l'extraction de données depuis différentes sources. Une technique d'extraction appelé web scraping, en particulier, permet de récupérer directement des données depuis des sources web non structurées. Il existe des paquets pour effectuer du web scraping en général ou ciblés sur certaines sources spécifiques (e.g. Twitter, Wikipedia, ...). Pour plus d'informations voir :

Nettoyage des données

Le nettoyage de données, souvent appelé depuis l'anglais Data wrangling, consiste à transformer des données brutes dans des formats plus propices à des processus ultérieurs, comme par exemple la visualisation ou l'analyse des données. R met à disposition des fonctionnalités out of the box ou des paquets qui permettent des opérations à plusieurs niveaux, comme par exemple :

  • Appliquer différents filtres pour exclure/inclure seulement une partie des données
  • Agréger les données dans des indices à travers des mécanismes de groupement
  • Utiliser les expressions régulières pour identifier des patterns dans les données et appliquer des modifications (e.g. extraire seulement les chiffres depuis une suite alphanumérique, etc.)
  • Passer d'un format large à un format long des données (e.g. plusieurs lignes pour le même participant)
  • etc.

Le grand avantage de R consiste à pouvoir formaliser ces opérations dans le code, ce qui est utile pour deux raisons :

  1. Le processus est automatisé, ce qui limite le risque d'erreurs dans un nettoyage à la main
  2. Le processus est transparent, donc il peut être répliqué à plusieurs reprises ou testé par d'autres personnes

Analyses statistiques

Écriture de report scientifique

Communication parallèle (blog, sites web, ...)

Écosystème de partage

Apprendre et comprendre

Simulation et applications interactives

Contrôle de qualité et fiabilité

Conclusion

Ressources