/Intro-to-R-M1-C2ES-2021

Teaching material, scripts and student personal spaces for the Intro to R course - Grenoble, September 2021

Primary LanguageHTMLGNU General Public License v3.0GPL-3.0

Logiciels spécialisés: R

Manipulation et présentation des données avec R

Paolo Crosetto - 24 heures – Septembre/Octobre 2021

Dans ce cours, on va utiliser le logiciel R, et en particulier son ‘dialect’ le tidyverse pour manipuler, visualiser, et analyser des données, et pour produire des rapports et des sites web avec les résultats de l’analyse.

Pré-requis

Aucun, mais une quelque familiarité avec la statistique et les données est bienvenue

Pré-requis techniques

  • les étudiants sont priés de venir en cours avec leurs PC portables
  • (si pas possible, on va pouvoir utiliser les PC portables de l'université, mais il y en a peux et dans les conditions où nous sommes c'est assez difficile)
  • installation de R (gratuit, ici: https://pbil.univ-lyon1.fr/CRAN/ )
  • installation de Rstudio (gratuit, ici: https://www.rstudio.com/products/rstudio/download/#download )
  • installation du package tidyverse:
    • ouvrez Rstudio
    • assurez-vous que votre PC soit connecté à internet
    • dans la console (en bas à droite) tapez install.pacages(“tidyverse”)
    • allez boire un café (cela prend quelques minutes)
  • installation de GIT (gratuit, ici: https://git-scm.com/downloads )
  • création d’un compte sur github (gratuit, ici: https://github.com/ )

Structure du cours

  1. prise en main du logiciel: R, Rstudio, pourquoi R et non pas un autre logiciel, ressources (gratuites) en ligne pour apprendre (livres, sites, twitter, blogs, wikis…).
  2. workflow: travailler de façon efficace, seuls ou à plusieurs ; documenter son code ; utiliser des repository ouverts pour gérer le code et l’intéraction avec des coauteurs ou le public. Usage de base de GIT et de github.
  3. plotting: dire la vérité et mentir avec les données, bad and good plots; ggplot, the grammar of graphics; #tidytuesday (package de référence : ggplot2).
  4. manipuler les données: sélectionner, filtrer, transformer, nettoyer, reshape, merge, création de variables, données 'propres' et 'ordonnées', tidy data (package de référence : dplyr et tidyr).
  5. analyser les données: statistiques descriptives, analyse par groupe, modèles simples de régression ; appliquer une analyse de façon récursive, pour chaque groupe ; comparer les résultas (package de référence : dplyr, purrr et broom).
  6. web crawling : extraire des données de sites web (package de référence : rvest, RCrawler)
  7. créer des rapports de stat: rapports dynamiques avec Rmarkdown et knitr; mise à jour des rapports (package de référence : knitr) ; publication des rapports sur github.

Contrôle final

Les étudiants auront deux semaines pour produire un rapport statistique sur des données qu’ils auront choisi (une liste de jeux de données va être fournite à l’avance). Le rapport sera rédigé en Rmarkdown et publié sur la page github de chauqe étudiant. Le développement se fera également sur github et les codes sources seront ouverts et accessibles. La note, en /20, sera obtenue en partie en présentant son travail aux collègues et en répondant à des questions sur ce même travail lors de la présentation; et en partie en répondant à deux questions additionnelles sur votre travail, que je vais vous poser après la fin du cours, et auxquelles vous allez répondre en créant une nouvelle version de votre rapport.

Exemple d’un produit final possible: https://jtanwk.github.io/us-solar/#how_have_solar_panel_costs_changed

Exemple d'un produit final fait par une étudiante de 2020: dans ce même repo, sous /Exam: https://github.com/paolocrosetto/Intro-to-R-M1-C2ES-2021/tree/main/Exam