Quarto: Un système de publication scientifique et technique open source

Quarto est une version multilingue et nouvelle génération de R Markdown de Posit, dotée de nombreuses nouvelles fonctionnalités et capacités. Tout comme R Markdown, Quarto utilise knitr pour exécuter le code R et est donc capable d’afficher la plupart des fichiers Rmd existants sans modification.

Quarto est un système d’édition et de publication de documents. Le code est exécutable en plusieurs languages (Python, R, Julia et Observable). Il est possible de créer du contenu dynamique et interactif avec ces languages. Les différents formats sont variés (articles, présentations, tableaux de bord, sites web, blogs et des livres) et compilables aux formats HTML, PDF, MS Word, ePub, etc.

Faire tourner le Code

Lorsque vous cliquez sur le bouton Render, un document est généré qui comprend à la fois le contenu et le résultat du code intégré. Vous pouvez intégrer du code comme ceci :

1 + 1
[1] 2

Vous pouvez ajouter des options au code exécutable comme ceci :

[1] 4

L’option “echo: false” désactive l’impression du code (seule la sortie est affichée).

#install.packages("DT")
library("DT")
datatable(airquality)
Table 1: Jeu de données ‘airquality’

Exemple sur le jeu de données “airquality”

#install.packages("tidyverse")
library("tidyverse")

# Pour eviter les warnings et messages d'erreur, nous enlevons (avec filter) les données manquantes des donnees
df <- airquality %>% filter(!is.na(Month), !is.na(Ozone), !is.na(Temp))
ggplot(df, aes(Temp, Ozone)) + 
  geom_point() +
  geom_smooth(method = "loess", formula = y ~ x)
Figure 1: Temperature and ozone level

Figure 1 illustre le lien entre la température et le niveau d’ozone. The code in Table 1 produces the figure in Figure 1.

Il est possible avec ggplot de parameter très précisément ses représentations graphiques afin d’avoir un rendu plus clair et esthetique.

Nous utilisons ici le package ggplot2 pour la reprentation graphique (Wickham 2016).

library("tidyverse")
library("gridExtra")

p1 <- ggplot(df, aes(Temp, Ozone, fill = factor(Month))) +
  theme_minimal() +
  geom_jitter(size = 3, alpha = 0.5, shape = 21) +
  labs(fill='Mois') + 
  theme(legend.position = "bottom")

p2 <- ggplot(df, aes(x = Temp, fill = factor(Month))) +
  theme_minimal() +
  geom_boxplot(alpha = 0.5) + 
  theme(legend.position = "none")

grid.arrange(p2, p1, nrow = 1)
Figure 2: Lien entre Temperature et niveau d’ozone suivant les mois

Figure 2 illustre l’utilisation de ggplot.

Diagrames

Voir Section 4.2 pour aller plus loin.

flowchart LR
  A[Hard edge] --> B(Round edge)
  B --> C{Decision}
  C --> D[Result one]
  C --> E[Result two]

Figure 3: Exemple de workflow

Equations

Les équations faites avec \(\LaTeX\) sont créées à l’aide de la syntaxe standard Pandoc markdown (l’éditeur reconnaîtra automatiquement la syntaxe et traitera l’équation comme une formule mathématique).

Lorsque vous ne modifiez pas directement une équation, celle-ci s’affichera sous forme de formule mathématique :

Theorem 1 (Line) L’équation d’une ligne, appelée “linear equation”, peut s’écrire comme ceci :

\[ y = mx + b \]

Voir Theorem 1.

Ajoutez immédiatement après une équation l’étiquette #eq- afin de pouvoir y faire référence.

Par exemple, Black-Scholes (Equation 1) est un modèle mathématique qui cherche à expliquer le comportement des produits dérivés financiers, le plus souvent des options :

\[ \frac{\partial \mathrm C}{ \partial \mathrm t } + \frac{1}{2}\sigma^{2} \mathrm S^{2} \frac{\partial^{2} \mathrm C}{\partial \mathrm S^2} + \mathrm r \mathrm S \frac{\partial \mathrm C}{\partial \mathrm S}\ = \mathrm r \mathrm C \tag{1}\]

Cross references

(a) Arcane N°13 du trot de Marseille
(b) GEORGES ROCHEGROSSE – “LA MORT”
(c) Arnold Boecklin - Island of the Dead
Figure 4: Représentations célèbres de la mort

Voir Figure 4 pour des exemples. En particulier, Figure 4 (a).

Utilisez la commande Insertion -> Référence croisée… pour insérer une référence croisée.

Suite

Téléchargez le repository présent sur ce lien :

https://gitlab.huma-num.fr/kheutte/quarto-et-r

Pour aller plus loin

https://quarto.org/docs/get-started/hello/rstudio.html

https://quarto.org/docs/get-started/computations/rstudio.html

https://quarto.org/docs/get-started/authoring/rstudio.html

https://quarto.org/docs/gallery/#dashboards

https://www.colorhexa.com/

References

Wickham, Hadley. 2016. Ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York. https://ggplot2.tidyverse.org.