Dans cet article, je vous partage 4 nouvelles astuces Rmarkdown, directement issues des questions de mes stagiaires, lors de ma formation « Rmarkdown niveau 1 -Réalisez vos premiers rapports automatisés«
Imaginons qu’un de vos collègues ait réalisé un rapport d’analyse en Rmarkdown mais qu’il vous ait seulement fait parvenir une version html de son document rendu, et que vous, vous souhaitez une version imprimable de ce document rendu.
Comme vous n’avez pas accès au fichier Rmd, vous ne pouvez pas faire un knit en version pdf.
Mais tout n’est pas perdu ! Vous avez la possibilité de convertir ce fichier html en pdf, en employant le package pagedown
et sa fonction chrome_print()
.
Les étapes sont :
pagedown
placer le document html à la racine de votre projet Rchrome_print()
, avec en argument :format = "pdf", verbose = 2.
Voici un exemple avec un document (rendu) html, nommé « Exercice2.html »
#install.packages("pagedown")
library(pagedown)
pagedown::chrome_print("Exercice2.html",format = "pdf", verbose = 2)
Certains se diront qu’il n’est pas nécessaire de passer par R puisqu’il suffit d’ouvrir le document html dans un navigateur, puis de lancer une impression en pdf.
Pour avoir essayé, je vous répondrais que le rendu pdf est plus propre en passant par R et la fonction chrome_print()
.
Imaginons que vous ayez un ancien script en .R
, et que vous aimeriez bien en faire un script en .Rmd
, afin de pouvoir ajouter du texte, des titres, etc.
Vous pouvez facilement obtenir une version .Rmd
de votre fichier .R
en utilisant, dans la console, la fonction knitr::spin()
.
Par exemple, avec un fichier en .R
nommé mon ancien_script.R
:
spin("mon_ancien_script.R", knit="FALSE")
Le fichier mon_ancient_script.Rmd
se crée alors automatiquement à la racine de votre projet R.
Vous trouverez plus de détail sur les options de cette fonction ici : https://deanattali.com/2015/03/24/knitrs-best-hidden-gem-spin/
Imaginons cette fois, que vous souhaitez extraire toutes les commandes R de votre script .Rmd
. Dit autrement, que vous souhaitez créer un script en .R
à partir de votre script en .Rmd
(c’est-à-dire, l’opération inverse de la précédente).
Pour cela, vous devez employer, dans la console, la fonction purl()`
.
Par exemple, avec un fichier .Rmd
nommé Exercice3.Rmd
:
knitr::purl("Exercice3.Rmd")
La encore, le fichier « Exercice3.R » va être créé automatiquement à la racine de votre projet R.
Vous trouverez plus de détails sur cette opération, ici : https://bookdown.org/yihui/rmarkdown-cookbook/purl.html
Dans votre rapport d’analyse, vous avez inclus des tables et des plots (avec des légendes) et vous aimeriez bien, en plus, obtenir une numérotation pour ces éléments.
Hé bien, c’est possible !
Pas directement avec Rmarkdown, mais en installant le package bookdown
, puis en utilisant dans l’entête de votre script Rmd bookdown::html_document2
– ou bookdown::pdf_document2
, ou bookdown::word_document2
(selon le rendu souhaité).
Voici la version du script Rmd et son rendu, par défaut, donc sans la numérotation des tables et des plots.
Remarque : les légendes des tables sont gérées par l’argument caption=
, de la fonction kable()
, alors que la légende du plot est gérée par l’option fig.cap
du chunk.
Et ici, la version du script Rmd et son rendu, avec la numérotation des tables et des plots :
L’utilisation de bookdown::html_document2
dans l’en-tête vous permettra de numéroter également vos équations, ou encore de faire du cross référencing (faire référence à un élément (table, figure, equation) précédent).
Vous trouverez plus d’info ici : https://bookdown.org/yihui/rmarkdown-cookbook/cross-ref.html
Si vous souhaitez vous initier à R markdown, vous pouvez consulter mes articles précédents, notamment :
Et si vous souhaitez aller plus loin, et apprendre, en une journée à réaliser vos premiers rapports d’analyse, ou rapport d’activité, ou TD et devenir autonome, j’animerai une autre session de formation à Rmarkdown lundi 28 février (3 places disponibles !).
Vous trouverez toutes les infos (programme, tarif et bulletin d’inscription), en cliquant sur le bouton 👇👇👇 :
Enregistrez vous pour recevoir gratuitement mes fiches « aide mémoire » (ou cheat sheets) qui vous permettront de réaliser facilement les principales analyses biostatistiques avec le logiciel R et pour être informés des mises à jour du site.
2 Responses
Super boulot. Je kiff et merci pour le partage. Une chose est ce que je pourrais avoir le pdf.
Super et merci beaucoup Claire !
J’ai adoré la formation et en plus il y a le suivi derrière, que du bonheur. Au plaisir de nouveaux échanges et partages.