10 astuces pour améliorer vos documents en R markdown

R markdown

 

Si vous êtes complètement débutant en R markdown, je vous conseille de commencer par lire mon  article “Guide de démarrage en R markdown

Je partage ici 10 astuces pour aller un peu plus loin dans l’utilisation de ce format R markdown.

 

Table des matières

  1. Afficher un résultat dans la partie texte
  2. Générer la date de façon automatique
  3. Ne pas exécuter le code d’un chunk
  4. Supprimer tous les messages et les warnings
  5. Afficher une table des matières dans le rapport dynamique
  6. Insérer des références bibliographiques
  7. Mettre des résultats en cache
  8. Améliorer l’affichage des tables
  9. Affichage d’une table de données paginée
  10. Utilisez des modèles R markdown

 

 

1. Afficher un résultat dans la partie texte.

Par exemple, dans votre code, vous calculez la moyenne d’une variable, et vous voulez écrire cette moyenne de façon automatique dans votre rapport. Pour cela, il faut stocker la moyenne dans un objet, ici nommé “moy_sepal_length”, et appeler ensuite cet objet dans le texte entre deux symboles de début et de fin de chunk (faites un copier-coller),  et précédé par la lettre r :

 

R markdown

 

Le rendu:

R markdown

 

2. Générer la date de façon automatique

Il est possible d’utiliser une fonction R dans l’en-tête. Cela permet notamment de générer la date de façon automatique, et de ne plus l’écrire en dur :

 

R markdown

 

Le rendu:

R markdown

 

3. Ne pas exécuter le code d’un chunk

Dans certaines situations, il peut arriver que l’on ne souhaite pas exécuter le code d’un chunk. Par exemple, vous pouvez avoir un code qui calcule la moyenne d’une variable, et sur certains jeux de données cette variable n’existe pas. Plutôt que de supprimer le chunk, vous pouvez simplement faire en sorte qu’il ne soit pas exécuté (ce qui entraînerait une erreur lors du passage du .Rmd en .html ou .docx). Pour cela, on utilise l’option “eval=FALSE“, que vous pouvez coupler avec echo=FALSE pour que même le code n’apparaisse pas.

 

R markdown

 

4. Supprimer tous les messages et les warnings

Par exemple, lors du chargement des packages, R renvoie souvent des informations, qui sont intéressantes, mais que l’on ne souhaite pas forcément voir apparaître dans le rapport généré, comme cela, par exemple :

R markdown

 

Dans ce cas là, on peut utiliser “message=FALSE“, et “warning=FALSEdans le chunck
set-up
:

R markdown

 

 

5.Afficher une table des matières dans le rapport dynamique

Si on utilise des titres et des sous titres dans le document R markdown, on peut vouloir afficher la table des matières (ou Table Of Contents en anglais) dans le rapport dynamique qui sera généré. Pour cela, on ajoute, dans l’en-tête du document R markdown “toc=TRUE” et on gère le niveau de détail de la table des matières par toc_depth, comme cela :

 

R markdown

6. Insérer des références bibliographiques

J’ai écrit tout un article qui explique en détail comment le faire en utilisant Mendeley. Cliquez ici pour le consulter.

 

7.Mettre des résultats en cache

Si le code d’un chunk prend beaucoup de temps de calcul, il peut être intéressant de ne pas relancer ce calcul à chaque fois qu’on génère le rapport dynamique. Par exemple, vous avez vu une faute d’orthographe dans votre rapport .docx, vous la corrigez sur le document R markdown,
et si un chunk prend 20 minutes de calcul, c’est un peu, voir carrément pénible ! Dans cette situation, vous pouvez utiliser l’option “cache=TRUE“. Lors de la première génération du document, le résultat du chunk sera mis en cache, et ce cache sera utilisé lors de la génération des rapports suivants.

Pour bien comprendre, vous pouvez générer deux fois de suite un document contenant le chunk suivant :

 

R markdown

 

8 Améliorer l’affichage des tables

Dans le premier article, je vous conseillais la fonction “kable” du package “knitr” pour afficher un tableau de données. Si vous générer votre rapport dynamique en format html, vous pouvez utiliser le package “kableExtra” pour améliorer l’affichage de cette table. Voici un exemple de ce qu’il est possible d’obtenir:

 

R markdown

 

Pour plus de détails, consultez la vignette du package.

 

9. Affichage d’une table de données paginée

Toujours lorsque votre rapport dynamique est destiné à un format en html, il est possible d’obtenir une table paginée en utilisant la fonction “paged_table” du package “rmarkdown”.

R markdown

 

 

10. Utilisez des modèles R markdown

Il existe des modèles prédéfinis de documents en R markdown. Ces modèles permettent de rédiger directement des documents avec un certain format. Par exemple, en installant le package “rticles”, vous aurez accès à des modèles R markdown pour rédiger vos articles sous le format d’une vingtaine de journaux scientifiques. Le choix du modèle se fait lors de la création d’un nouveau document R markdown, au niveau de l’option “From Template”.

 

R markdown

 

 

 

Et vous ? Avez vous un 11ème élément d’amélioration à me suggérer ? Si oui, faites le en commentaire et je le rajouterai à cette liste. En attendant, j’espère que ces 10 éléments permettront au plus grand nombre d’améliorer leurs documents dynamiques.

Et si cet article vous a plu, n’oubliez pas de le partager 😉

Crédits photos : geralt

 

Retrouvez ici 4 de mes articles les plus consultés :

Partager l'article
  •  
  •  
  •  
  •  
  •  
    3
    Partages
  • 3
  •  
  •  
  •  
  •  

1 Commentaire

  1. youl Répondre

    Vraiment grand merci Madame car ce sujet (R markdown) m’intéresse particulierement. L’article est bien détaillé et facilement comprehensif. Mais réellement j’ai toujours des difficultés. Je souhaiterais si possible de faire une vidéo pour associée à l’article.

Laisser un commentaire

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