Pour extraire tout le code source R ayant servi à générer les résultats d’un document compilé avec R Markdown, utiliser la fonction purl du package knitr. Cette fonction sert à extraire tous les chunks de code R présents dans un fichier .Rmd et à les rassembler dans un fichier .R dans le dossier où se trouve votre fichier .Rmd.

Par exemple, supposons que tout votre travail est contenu dans le fichier Exercice_2.Rmd , mais qu’on vous demande seulement de fournir le code source R de votre travail.

Vous pouvez appeler la fonction purl directement depuis l’invite de commande R :

  library(knitr)
  purl("C:\\Chemin\\vers\\le\\fichier\\Exercice_2.Rmd")

en prenant bien soin de remplacer C:\\Chemin\\vers\\le\\fichier par le véritable chemin où se trouve votre fichier.

Plutôt que de saisir cette ligne manuellement à chaque fois que vous compilez votre code source, vous pouvez ajouter un chunk R à la toute fin de votre fichier .Rmd contenant la ligne. Pour ce faire, vous devrez spécifier dans les options du chunk l’option include = FALSE, qui permettra à R d’évaluer la ligne sans afficher quoi que ce soit dans votre travail.

Cette solution rend le tout plus automatique et créera une nouvelle version .R à chaque compilation de la version .Rmd.

Voir le code source de cet énoncé pour un exemple : Enonce_Supp_extraction_code_R.Rmd

Remarque : Tout comme lors de l’exécution manuelle de la fonction purl, vous aurez à changer le chemin d’accès vers le fichier .Rmd.