Présentation de la formation

Le but principal de cette formation est de vous donner des outils pour faciliter le développement de code (performant) avec . L’aspect “performance” arrivera dans un deuxième temps, et les premiers outils présentés sont également très utiles dans des situations ne faisant pas intervenir de temps de calculs importants.

Nous allons centrer la présentation de ces outils de développement autour de la notion de package. Vous connaissez déjà cette notion, car vous avez déjà installer des packages depuis le CRAN par exemple. Vous savez également que c’est le moyen le plus standard dans pour partager et mettre à disposition du code. Nous allons vous montrer que le package est également un excellent outil pour développer le code.

Nous allons adopter le plan suivant :

Build an R package as a useful tool for code development

  1. Leverage git for tracking changes, and GitHub for sharing code, collaborative development, automating tests in a package and broadcast a companion website

  2. Construire un package comme outils de développement de code

  3. Utiliser git pour tracer les changements, et GitHub pour partager son code, le développement collaboratif, automatiser les tests dans un package et diffuser un site web d’accompagnement

  4. Mesurer le temps de calcul

  5. Profiler le code

  6. Utiliser Rcpp pour optimiser ce qui doit l’être

  7. Paralléliser facilement le code

Logiciels et librairies nécessaires à la formation

Afin de suivre cette formation, il est nécessaire de disposer des logiciels suivants :

  • la dernière version de (https://cloud.r-project.org/)

  • la dernière version de RStudio (https://posit.co/download/rstudio-desktop/#download)

  • un compilateur C++ (tel que gcc ou clang - natif sous les système UNIX, pour les utilisateurs Windows nous recommandons l’installation de Rtools, pour les utilisateurs Mac il peut être nécessaire d’installer les outils de développement Apple comme indiqué ici)

  • les packages suivants : devtools, future.apply, itertools, microbenchmark, mvtnorm, profvis, Rcpp, RcppArmadillo, roxygen2, testthat, usethis

  • le logiciel git

  • le client GitHub Desktop

Pré-requis

Afin de pouvoir suivre cette formation correctement vous devez être à l’aise avec les aspects suivants :

  • la programation avec dans l’environnement de développement RStudio
  • écriture de fonctions en
  • structure de contrôle, en particulier les boucles for
  • le calcul de la densité d’une loi normale multivariée