R Markdown a été l’un des aspects les plus convaincants de l’écosystème R, facilitant l’incorporation des résultats du code R dans un texte. De plus, les fichiers R Markdown peuvent être exportés vers une variété de formats : Word, HTML, PDF, PowerPoint, etc. Vous pouvez même exporter des livres et des sites Web complets.
Mais R Markdown existe depuis 10 ans. Et à mesure que de nouvelles fonctionnalités étaient ajoutées via des packages R externes, la syntaxe des tâches de base devenait incohérente selon, par exemple, si la sortie était un document HTML autonome, une présentation de diapositives HTML ou autre chose. De plus, même si vous pouviez exécuter des langages supplémentaires en plus de R dans un bloc de code R Markdown, il était toujours fondamentalement conçu pour R.
Ce sont deux des raisons pour lesquelles RStudio a développé Quarto, un système de publication de nouvelle génération, semblable à R Markdown. Quarto est open source, et il est aussi convivial pour les notebooks Python, Julia, Observable JavaScript et Jupyter que pour R. Ce n’est pas une bibliothèque spécifique à un langage, mais une application logicielle externe.
Après un lancement en douceur de plusieurs mois, Quarto était un thème majeur de la conférence RStudio de cette année fin juillet.
Pourquoi s’embêter avec Quarto ?
Si vous utilisez plusieurs langues ou si vous faites partie d’une équipe multilingue, vous trouverez probablement attrayant le support natif de Quarto pour plusieurs langues. La “cohérence interne élevée” est une autre attraction, car la même syntaxe fonctionnera dans plus de langues et de formats.
“Quarto permet la collaboration entre les langages de codage”, a déclaré Julia Stewart Lowndes, fondatrice et codirectrice d’Openscapes, lors d’un discours d’ouverture de la conférence RStudio. Openscapes a travaillé avec la NASA en tant que premiers testeurs bêta de Quarto et a constaté que Quarto facilitait la collaboration entre les utilisateurs de Python et de R, a-t-elle déclaré.
Mais l’un des avantages les plus intrigants est sur la route. Le fondateur et PDG de RStudio, JJ Allaire, envisage une collaboration basée sur le cloud pour les documents Quarto qui fonctionnera de la même manière que l’édition de Google Docs, de manière transparente et sans que les utilisateurs aient besoin d’utiliser explicitement un outil de contrôle de version externe comme Git. Cependant, Allaire souligne que ce travail est ne pas imminent
Pour l’instant, cependant, Quarto a été conçu pour fonctionner aussi bien dans Visual Studio Code et Jupyter que dans RStudio, ce qui, espère la société, rendra plus probable l’adoption par les équipes avec des utilisateurs non-R. En fait, ceux qui travaillent principalement sur du texte avec peu de code pourraient utiliser un éditeur de texte brut pour les documents Quarto ; Les documents HTML rendus peuvent être prévisualisés dans un navigateur.
Allaire pense que l’un des principaux avantages de Quarto est l’assistance à l’écriture de YAML, le langage utilisé à la fois pour les informations d’en-tête de document R Markdown et Quarto. YAML peut être fâcheusement capricieux quant à l’endroit où placer les deux-points, les virgules et les indentations. C’est presque comme son propre langage de programmation, mais sans les avantages d’un IDE et de la vérification des erreurs. L’éditeur Quarto dispose d’une assistance YAML intégrée. Il vise également à mettre en évidence les erreurs avant d’essayer de rendre votre document et de découvrir que cela ne fonctionnera pas.
Et puisque Quarto est open source, d’autres peuvent contribuer à sa fonctionnalité en écrivant des extensions. Il existe plusieurs extensions Quarto déjà disponibles auprès de l’équipe de développement Quarto.
Autre avantage potentiel, selon vos besoins : vous pouvez exporter des documents Quarto dans plus de 40 formats de fichiers différents, notamment Word, OpenOffice, PowerPoint, ePub, Jira Wiki, Jupyter, Observable JS, des sites Web complets et des livres électroniques. R Markdown peut en générer certains, mais pas tous.
Il existe également des fonctions de conversion utiles, telles que la conversion entre les blocs-notes Jupyter .ipynb et les documents .qmd Quarto qui peuvent être lus par n’importe quel éditeur de texte.
Enfin, alors que R Markdown sera maintenu et mis à jour, «[RStudio] n’essaiera probablement pas de rétroporter les fonctionnalités de Quarto dans R Markdown (à moins que ce ne soit assez simple et ne demande que peu d’efforts) », a écrit Yihui Xie, ingénieur de RStudio, dans un article de blog. En d’autres termes, de nouvelles fonctionnalités intéressantes sont beaucoup plus susceptibles d’apparaître dans Quarto.
Cependant, Quarto ne fait pas signifie la fin de R Markdown. “Soyez assurés que #rmarkdown ne va pas disparaître : nous continuerons à y travailler ! Pas besoin de changer de #rstats si vous n’en avez pas besoin », a tweeté Christophe Dervieux, ingénieur logiciel chez RStudio. En fait, la plupart des choses que vous savez de R Markdown peuvent probablement être utilisées dans Quarto. Et, Quarto rendra les documents R Markdown.
En quoi Quarto est-il différent de R Markdown ?
Contrairement à R Markdown, qui est un Forfait R, Quarto est une application distincte non-R. Donc, pour utiliser Quarto, vous devrez peut-être d’abord le télécharger et l’installer comme vous le feriez pour n’importe quel autre logiciel, dans ce cas à partir de la page “Get Started” de quarto.org. Quarto est actuellement inclus dans les versions RStudio IDE RStudio v2022.07.1 ou ultérieures.
Pour Visual Studio Code, installez à la fois Quarto et l’extension VS Code Quarto. Quarto fonctionne également avec Jupyter Lab et n’importe quel éditeur de texte
Si vous avez déjà utilisé R Markdown, un document Quarto vous semblera familier. Il y a un en-tête YAML avec un titre, un auteur et un format de sortie. Le texte utilise beaucoup de démarques génériques, telles que les signes dièse pour les en-têtes et la syntaxe crochet/parenthèse pour le texte hypertexte : [linked text](https://theurl.com)
. Les deux utilisent trois backticks pour délimiter le début et la fin des morceaux de code.
Exemple de document Quarto dans RStudio.
L’une des plus grandes différences entre les anciens R Markdown et Quarto est la façon dont vous configurez les options pour les morceaux de code. Dans R Markdown, les options spécifiques aux blocs étaient généralement placées entre des accolades définissant le bloc, telles que
```{r chunk_name, echo=FALSE, warning=FALSE}
code here
```
Cela crée un bloc de code R nommé nom_morceau qui sera exécuté, mais le code lui-même ne s’affichera pas dans le document rendu. Et tous les messages d’avertissement que le code pourrait générer n’apparaîtront pas.
Dans Quarto, les options de bloc vont dessous les accolades. Chaque option va sur sa propre ligne précédée d’un signe dièse et d’un caractère vertical, comme
```
{r}
#| label: chunk_name
#| echo: false
#| warning: false
```
Ce format d’option de bloc “hash pipe” fonctionne désormais également avec les documents R Markdown.
Pour plus de détails sur l’utilisation de Quarto, consultez le site Web de Quarto ou les diapositives de Mine Çetinkaya-Rundel, professeur à l’Université Duke qui travaille également à RStudio, de son discours d’ouverture de la conférence RStudio avec Stewart Lowndes.
En outre, Quarto a son propre compte Twitter. Et il y a le blog Quarto Tip a Day de Mine Çetinkaya-Rundel.
Si vous souhaitez essayer de publier un document Quarto HTML public, RStudio a lancé un site gratuit https://quartopub.com similaire à ses anciens documents RPubs for R Markdown.
Pour en savoir plus sur le langage de programmation R, rendez-vous sur la page des tutoriels Do More With R.
Copyright © 2022 IDG Communications, Inc.