Comment faire collaborer et R ?#

Le principe est de générer un document comportant des résultats (tableaux, graphiques, etc.) produits par R (ou Python, Julia, etc.).

Il existe plusieurs solutions toutes basées sur le même principe : dans un document écrit dans un langage balisé (markdown ou par ex.) on incorpore des morceaux de code R appelés chunks délimités par des triples backticks (```). Une première compilation produit un document comportant les résultats du code R (un tableau par exemple). On compile ensuite ce document pour obtenir le fichier final (en PDF si on utilise ).

De plus la maintenance est simplifiée : chaque chunk peut être exécuté seul (ce qui simplifie l’écriture et le déboguage) et il n’y a qu’un seul document (au pire deux ou trois avec d’éventuels fichiers de configuration).

1.  Knitr#

un fichier knitr (.Rnw) est un fichier standard qui contient des chunks de code R. Un exemple :

\section{Introduction}

<<setup, include=FALSE, cache=FALSE>>=
plot(iris)
@

bla, bla, bla.

L’écriture est lourde et il n’existe pas de modèles prédéfinis.

2.  R markdown#

R markdown est un format de fichier qui mélange du code R et du texte en Markdown. Les réglages généraux sont écrits dans un en-tête en yaml. Après une première compilation pour R, le fichier est converti en via pandoc puis compilé en PDF (toute la précédure étant automatisée). Un export en HTML voire en .docx est également possible.

## Introduction

```{r, echo = FALSE, fig.cap = "Vue globale de Iris"}
plot(iris)
```

bla, bla, bla.

3.  Quarto#

Quarto est une évolution de R Markdown. La syntaxe est plus simple et il existe nombre de fonctions pour des mises en page complexes, des pages de titre, etc. C’est le seul qui continue à être réellement maintenu. La documentation est très bien faite.

## Introduction

```{r}
#| label: irisf1
#| fig-cap: Vue globale de Iris

plot(iris)
```

bla, bla, bla.

La suite de cette documentation se concentrera sur Quarto.