Rmarkdown : 4 nouvelles astuces !

4 nouvelles astuces pour Rmarkdown

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

Table des matières

Astuce 1 : Obtenir une version imprimable d’un rendu html (si vous n’avez pas le Rmd)

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 :

  • installer le package pagedown
  • placer le document html à la racine de votre projet R
  • utiliser (dans la console) la fonction chrome_print(), avec en argument :
    • le nom de votre document rendu en html
    • 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) 
Obtenir une version imprimable d'un rendu html, quand on ne dispose pas du .Rmd

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") 
Obtenez un script .Rmd à partir d'un script .R

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/

Astuce 3 Comment générer un .R à partir d’un .Rmd

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") 
Obtenir un script.R à partir d'une script .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

Astuce 4 : Comment ajouter une numérotation aux tables et plot ?

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.

Table et plot sans numérotation

Et ici, la version du script Rmd et son rendu, avec la numérotation des tables et des plots :

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

Conclusion

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  👇👇👇  :

Si cet article vous a plu, ou vous a été utile, vous pouvez soutenir le blog, en réalisant un don libre sur sa page Tipeee.

2 réponses

  1. 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bonjour !

vous venez souvent ?

Identifiez-vous pour avoir accès à toutes les fontionnalités !

Aide mémoire off'R ;)

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.