NOTE: les ateliers R³, c’est fini, mais le contenu reste accessible !

L’objectif des ateliers R³ (R et Recherche Reproductible) est de donner un accès plus simple à quelques outils clés liés au traitement de données de toute nature, et à la recherche reproductible. Cela inclut des outils de programmation et d’exploration de données (R), mais aussi de génération de rapports automatisés (Rmarkdown), d’outil de collaboration (git), et de bonnes pratiques liées à la publication de scripts en parallèle des publications.

Présentation en vidéo de la formation (~10 min)

Ces ateliers sont ouverts à tous quelque soit le statut et le type d’activité à l’ISEM (ITA, chercheurs, doctorants, etc.). Etant donné les circonstances, le format des ateliers est en ligne - il s’agit d’une heure de « cours », sous la forme d’une vidéo à regarder librement et qui sera diffusée sur cette page (en français). L’atelier proprement dit a lieu ensuite une semaine après: il est l’occasion d’échanger entre participants et de mettre en application les notions abordées.

Les ateliers étant relativement indépendants les uns des autres, il n’est pas forcément nécessaire d’assister à tous mais le choix peut se faire “à la carte” (par ex., vous pouvez assister à l’atelier sur ggplot2 sans avoir suivi la session “R les bases”).

Ces ateliers peuvent être validés par les doctorants dans le cadre d’un module de formation doctoral - merci de vous mettre en contact avec Alexandre à la fin de la formation pour les justificatifs.

Prérequis

Aucun prérequis n’est nécessaire - il est par contre fortement conseillé d’installer R sur sa machine pour pouvoir réaliser les exercices. En particulier, l’installation de l’interface Rstudio est recommandée car ce sera le logiciel utilisé pour les ateliers. Un tutoriel très détaillé est disponible ici.

Une autre solution est également l’utilisation de Rstudio-server, qui vous permet d’effectuer vos travaux sous Rstudio dans un navigateur, sur une machine distante. Une instance de Rstudio-server est disponible grâce à plateforme MBB. Si vous souhaitez utiliser cette solution pour les formations (ou par la suite pour vos autres calculs), n’hésitez-pas à nous contacter via le formulaire en ligne pour créer un accès (mentionnez dans la demande le besoin d’un accès à rstudio).

Programme et dates

Les semaines données ci-dessous sont celles de la date de la discussion en ligne - la vidéo du “cours” sera mise en ligne approximativement une semaine avant. Les différents ateliers sont regroupés sous trois grandes thématiques, tous ayant lieu sauf mention contraire le jeudi à 14h :

Un descriptif plus long des ateliers est disponible plus loin dans ce document.

Participer

Il n’est pas nécessaire dans l’absolu de s’inscrire, mais afin d’assurer le suivi des formations à l’ISEM nous souhaiterions avoir une idée grosso-modo des personnes inscrites: merci de remplir le sondage suivant si vous pensez assister à au moins une des sessions: lien.

Le jour J, pour accéder à l’atelier en ligne, il sera nécessaire d’avoir un compte UM. L’accès se fait via la plateforme moodle. Il faut se connecter, puis cliquer sur “Entrer dans la session”.

A défaut d’être en présentiel, le cours se veut le plus interactif possible. Un échange entre tous aura lieu lors des ateliers en ligne. Nous sommes également à la recherche d’exemples de données à traiter - si vous avez un jeu de données en particulier sur lequel vous aimeriez que l’on travaille, n’hésitez-pas à nous contacter !

Accès aux ateliers collaboratifs

Les ateliers collaboratifs ont eu lieu à l’automne 2020 - pour certains, un enregistrement est disponible en ligne sur la plateforme Moodle de l’université de Montpellier.

Description et contenu des sessions

Session 01 - R, les bases

R - les bases (~ 1h15m)

Cours
Exercices
Code utilisé lors du cours
Diaporama utilisé lors du cours
Exercices (avec solutions)
Correction exo en bonus (pour réviser !)
Code de la correction de l’exo en bonus

Le but de cette session est de présenter rapidement le langage de programmation R, voir ou revoir la manipulation des objets de base dans R (vecteurs, matrices, listes, data.frames et fonctions) et structures de contrôle (for, while, if). On verra également comment inspecter les objets pour voir le type de valeurs qu’ils contiennent ainsi que certaines de leurs propriétés (fonctions str,summary, etc.).

Session 02 - R, manipuler des données

R, manipuler des données (~ 1h)

Cours
Bonus (sur group_modify())
Code et données utilisées lors du cours
Diaporama
Exercices (format zip contenant données + instructions)
Code utilisé lors de la correction des exercices
Exercices (avec solutions)

L’objectif est ici de savoir lire et écrire des données dans R (read.csv, write.csv et leurs amis), utiliser les fonctions de traitement rapide de données (lapply, apply, etc.), formater des data.frames pour passer en format dit “long” ou “wide” (spread, gather etc.). On verra également comment calculer des statistiques aggrégées (par ex. des moyennes par groupes). S’il reste du temps, nous ferons un survol du paquet dplyr.

Session 03 - R, faire du code performant

R, faire du code performant (~ 50 min)

Cours
Code utilisé lors du cours
Diaporama
Exercices
Exercices (avec solutions)
Code écrit lors de l’atelier

On verra quelques principes généraux pour faire du code performant appliqué à R, comment utiliser la parallélisation (package future) sur sa propre machine et sur des machines différentes (cluster) et comment identifier quelles sections d’un code R sont lentes et méritent optimisation.

Session 04 - Visualisation de données avec ggplot2

R, utiliser ggplot2 (~ 50 min)

Cours
Code et données utilisés lors du cours
Diaporama
Exercices (avec données)
Exercices (avec solutions)
Code utilisé pour la correction des exercices

On fera dans ce cours une introduction à ggplot2 en vue de réaliser des graphes (plots) pour l’exploration de données (syntaxe, notions de geom, facets, etc.), et comment naviguer la documentation de ggplot2. On verra également comment ajuster les détails d’un graphe (axes, couleurs, theme, etc.).

Session 05 - Visualisation et analyse de données multivariées

R, visualisation de données multivariées (~ 1h15 min)

Cours
Code utilisé lors du cours
Diaporama
Exercices (avec données)
Exercices (avec solutions)
Code utilisé lors de la correction des exercices

Le but de cette session est de savoir visualiser un jeu de données multivarié (e.g. avec ggpairs), et d’avoir quelques outils pour analyser sa structure (ex. identifier les variables importantes avec une ACP, trouver et afficher des clusters en utilisant une classification ascendante hierarchique, etc.).

Session 06 - Modèles linéaires

R, modèles linéaires (~ 1h15 min)

Cours
Code utilisé lors du cours
Diaporama
Exercices (avec données)
Exercices avec solutions
Code utilisé lors de la correction pendant l’atelier

On verra quels paquets permettent de fitter des modèles linéaires sous R, dont les modèles linéaires généralisés (glm). On verra comment visualiser les résultats et prédictions de ces modèles.

Session 07 - git pour soi et avec les autres

git pour soi et avec les autres (~ 45 min)

Cours
Slides

git est un programme permettant le versionnage de fichiers. Le but est ici est d’avoir une introduction générale à git, et de savoir l’utiliser pour un usage personnel sur son ordi (git add/commit). On verra également comment travailler avec git en collaboration (git push/pull), les possibilités d’héberger du code à l’ISEM (instance gitlab MBB) et comment résoudre des problèmes de conflits.

Session 08 - Rapports automatiques avec Rmarkdown

Rmarkdown (~ 45 min)

Cours
Slides
Fichier Rmd utilisé lors de l’atelier

Rmarkdown est un outil largement utilisé pour la production de rapports automatiques - par exemple un document pdf qui rassemble les résultats d’analyses de données. Le but de cette session est d’avoir un aperçu des fonctionnalités du paquet, et de savoir créer un document simple pour soi.

Session 09 - Préparer son code pour une publication

Recherche reproductible et bonnes pratiques (~ 60 min)

Cours
Slides
Arborescence exemple pour l’atelier
Petit guide de la BES sur le sujet (descendre à “Reproducible research”)

Il est de plus en plus demandé de fournir le code et les données à côté d’une publication. Nous verrons quels grands principes adopter pour rendre son code lisible et réutilisable par les autres, quels outils peuvent faciliter cet objectif (e.g. workflowr, outils MBB comme Wicopa), et comment référencer son code dans une archive (e.g. zenodo ou autre).

Des formations ici et ailleurs

D’autres groupes proposent des formations aux outils de la recherche reproductible dans la sphère Montpelliéraine. N’hésitez-pas à les consulter si vous souhaitez approfondir certains sujets.

Contacts

Dernière mise à jour: Thu Dec 17 17:36:51 2020