Rcpp ? pour qui, pour quoi ?

Vous avez identifié des parties de votre code qui sont lentes ou gourmandes en mémoire, et vous avez épuisé le stock de techniques en R pur pour les optimiser.

Vous êtes tenté de recoder des morceaux dans un langage compilé, mais vous n’avez pas la barbe assez longue pour le fortran . Le costume de jedi nécessaire à coder en C ? Vous ne le sortez que pour Halloween…

C’est simple : Rcpp est fait pour vous.

Rcpp vous permet de valoriser des bouts de code C++ dans R. N’ayez crainte, il ne s’agit pas de maîtriser tous les concepts de C++ – vous auriez besoin de la barbe, du costume, d’une cape d’invisibilité, de gènes mutants, d’une batmobile, d’ un frigidaire et d’une armoire à cuillère.

Rcpp c’est un monde où on ne vous regarde pas de haut quand vous faites une boucle. Contrairement à R où vous devez vous cacher loin des regards méprisants pour écrire `for` . En C++, la boucle, c’est la vie.

Concentrez-vous sur le code C++ que vous appelez très simplement depuis votre code R. Rcpp s’occupe du reste.

Programme

  • Présentation rapide de Rcpp
  • Quelques exemples
  • Classes de base, vecteurs et listes (NumericVector, CharacterVector, List…)
  • Autres classes, fonctions environnements (Fonction, Environment)
  • Manipulation de classes C++ avec les pointeurs externes (XPtr)
  • Création de package avec du code Rcpp
  • Manipulation de classes C++ avec les modules Rcpp
  • Création de package avec un module

Et éventuellement…

  • RcppParallel et tbb pour le parallélisme
  • RcppArmadillo

Prérequis

  • RStudio (optionnel)
  • Dernière version de R installée
  • Packages : Rcpp, devtools, RcppArmadillo, microbenchmark
  • Outils de développements
    • sur Windows : une version de Rtools compatible avec la version de R
    • sur OSX: Xtools et ses command line tools
    • sur Linux : gcc g++

Pour vérifier que la machine est prête, vous devez pouvoir exécuter ceci :

Rcpp::evalCpp( "1+1" )#2

Appelez-nous au 01.85.09.14.03

Ou alors précisez ci-après votre besoin :

(on vous recontacte dans la journée)

Votre nom (obligatoire)

Votre email (obligatoire)

Votre téléphone (obligatoire)

Sujet

Votre message

Parcourir le catalogue de formation :