Caroline Patenaude
Bibliothèque des lettres et sciences humaines
2020-11-11
Se familiariser avec l’environnement de RStudio pour la création de documents dynamiques.
Comprendre l’anatomie d’un document R Markdown.
Comprendre les différents formats et paramétrages de base.
Apprendre les bases du balisage Markdown.
Apprendre à structurer un document .rmd pour le compiler en différents formats.
Apprendre comment partager son document en ligne (avec URL).
LaTeX pour compiler des documents pdf: nécessite installation d’une distribution TeX comme MiKTeX, TinyTeX…
Git et Github pour archiver et partager en ligne
Apprendre R!
Télécharger et installer R de base - choisir son système d’exploitation et suivre les étapes.
Télécharger et installer RStudio (ou autre interface) – Choisir la version gratuite et son système d’exploitation.
Télécharger et installer (“charger”) des packages dans RStudio.
update.packages
). RStudio utilisera par défaut la version la plus récente sur le poste (peut se faire manuellement). L’ancienne version peut être désinstallée. Il est recommandé de mettre à jour sa version R et RStudio annuellement.installr
install.packages()
ou via le menu du haut Tools > Install Packages) une seule fois, mais chargés (library()
ou require()
) à chaque session.R Markdown est un package installé par défaut dans RStudio.
Outils de programmation lettrée créé pour assurer la reproductibilité de la recherche en intégrant dans un seul document du texte balisé en Markdown, le code (R ou autre) et résultats de ses analyses.
C’est la version “moderne” et simplifiée d’autres outils utilisés depuis plusieurs décennies par les chercheurs adeptes du litterate programming: LaTeX, Sweave et S.
Permet donc d’éviter toutes les étapes de copier-coller de tableaux, de graphiques… et de créer des documents et présentations faciles à mettre à jour en différents formats: word, pdf, ppt, html…
Optimisé pour la création de documents html (donc format qui profite du plus d’options intéressantes).
Tout commence par la création d’un document .Rmd dans RStudio.
Un fichier R Markdown est un simple fichier texte avec une extension .Rmd. (on pourrait le créer dans Notepad).
Pour générer un rapport, utilise la commande render
ou encore mieux, le bouton knit qui active la fonction rmarkdown::render()
qui exécute les blocs de code du fichier .Rmd et prépare les résultats à inclure dans le document final. Ces résultats sont convertis dans un fichier temporaire .md (contenant code et résultats).
render
:Ensuite ce fichier .md est traité par l’outil Pandoc qui permet de convertir le contenu d’un langage de balisage (markup) en différents formats (“couteau suisse” de la conversion de formats de documents). Les paramètres de conversion sont précisés dans l’entête YAML du document .Rmd où entre autres le format final est spécifié.
Si le format final désiré est pdf, une étape de traitement supplémentaire s’ajoute: Pandoc transformera le fichier .md dans un autre fichier intermédiaire .tex. Ce fichier .tex sera ensuite traité par LaTeX vers sa forme pdf finale.
À noter, LaTeX est un outil très puissant pour la structuration de documents mais cette personnalisation spécifique au pdf fait que l’on perd la flexibilité multiformat du R Markdown.
Il existe un très grand nombre de packages et de templates pour créer différents types de documents avec des styles prédéfinis très variés : modèles de présentation, articles de périodiques, livres, thèse, sites web, blogs, widgets, dashboards, cartes et autres présentations interactives …
Attention car l’utilisation de ces différents outils nécessite l’apprentissage de paramétrages/balisages particuliers ce qui peut nuire à l’interopérabilité des formats.
On peut également créer ses propres gabarits et style de documents
Contient 3 types de contenu:
?rmarkdown::html_document
.output: tufte::tufte_html
.Il est aussi possible de modifier les arguments de formattage du document final grâce aux options du menu knit de RStudio. Les champs de l’entête YAML du document seront automatiquement modifiés.
Le markdown est un langage de balisage, version simplifiée du html, créé par John Gruber en 2004.
Sert à structurer du contenu textuel et produire des documents à partir de texte brut balisé.
“Markdown reflects the philosophy of Stoicism: the “natural world” consists of plain text, and you should not be controlled by the desire for (visual) pleasure." — Yihui
Souvent comparé à LaTeX; autre langage de balisage plus puissant mais beaucoup plus complexe pour la production de documents pdf.
Il existe plusieurs versions de Markdown développé par différents programmeurs. Celle utilisée par R Markdown est la version Pandoc qui rend aussi possible conversion de documents en différents formats.
Sa très grande simplicité en fait un outil plus limité en terme de structuration de documents par rapport au html, à LaTeX et à un logiciel de traitement de texte. (voir Gruber)
Il est donc utile de connaitre ces langages (html, css, javascript, LaTeX) si l’on veut personnaliser le format de ses documents (mais attention car l’inclusion de balises html et LaTeX peut poser problème lors de l’exportation vers certains formats).
```{r}
mean(23, 65, 43, 34, 56) # Le style des blocs est défini par l'option "highlight" dans le YAML
```
insert
ou avec le raccourci ctrl + alt + i
`r
et se terminant par un accent grâve `
. Donc: Résultat: La moyenne d’âge de nos participants étaient 23 …
Le “comportement” des blocs de code et la présentation des résultats peuvent être paramétrés de plusieurs façons.
Knitr propose de nombreuses options (chunck options) que l’on peut ajouter comme arguments entre les accolades de chaque bloc (chaque option doit être séparée par une virgule).
Chaque bloc optionnellement peut avoir un nom (label), doit être la première option.
Ces options contrôlent essentiellement la façon dont sera compilé (ou non) le code de chaque bloc et la façon dont sera présenté (ou non) les résultats de chaque bloc de code.
Plusieurs des arguments ont des valeurs logiques: TRUE OU FALSE (avec une valeur par défaut qu’il faudra changer si elle ne convient pas)
Options globales: Il est possible de définir les valeurs des arguments pour tous les blocs dès le départ en incluant le bloc suivant au début du document (par défaut à la création d’un nouveau fichier .rmd) :
r mean(23, 65, 43, 34, 56)
Du texte dans un bloc
Du texte avec indentation
Quelques détails finals:
Il est préférable d’ajouter une ligne vide entre différents éléments, comme un titre et un paragraphe.
Pour faire un saut de ligne: terminer la ligne par deux espaces + Entrée.
Pour ajouter des espaces supplémentaires entre les lignes/sections, utiliser la balise html: <br>
.
Pour inclure des commentaires qui ne sortiront pas dans le document final, utiliser commentaires html: <!-- commentaires -->
.
Exemples de paramétrages utiles
Pour partager ses documents en ligne
Yihui Xie, J. J. Allaire, Garrett Grolemund, 2020-10-14, R Markdown: The Definitive Guide
Yihui Xie, Christophe Dervieux, Emily Riederer, 2020-09-21, R Markdown Cookbook
Yihui Xie, knitr. Elegant, flexible, and fast dynamic report generation with R
RStudio, RMarkdown Gallery
Karl Broman, Writing reproducible reports. knitr with R Markdown
Michael Clark, 2019-11-06, Introduction to R Markdown
Yan Holtz, 10 December 2018, Pimp my RMD: a few tips for R Markdown
Alison Hill · Desirée De Leon, Sharing on Short Notice. HOW TO GET YOUR TEACHING MATERIALS ONLINE WITH R MARKDOWN
Writing publications with R, Wed, Aug 17, 2016
Mike Frank & Chris Hartgerink, 2017-07-31, RMarkdown for writing reproducible scientific papers
Marian L. Schmidt, May 11th, 2016, Creating Dynamic Documents with RMarkdown and Knitr
Thea Knowles, January 14, 2020, RMarkdown and Bookdown for Academic Writing in R
7. Comment ça marche?
R Markdown combine différents processus pour créer à partir d’un seul fichier des documents en différents formats: