RmarkDown - Notebook - Jupyter

Rapports automatisés - Documents dynamiques

Créer des notebooks à partir de R Studio

1- Installer RStudio pour créer mon premier notebook

Au lieu d'installer le R classique (R commander), on peut installer RStudio : ce dernier a des avantages et des inconvénients plus simple d'utilisation, plus facile de retrouver des commandes, de décrire des objets, mais limiter dans la gestion des fenêtres graphiques (taille, interactivité).

Un des gros avantages de RStudio est la fenêtre en haut à droite qui permet d'avoir un descriptif des objets

Les dernières versions de RStudio proposent une version WYSIWYG (qui permet de voir le résultat de son écriture comme dans un traitement de texte classique).

Actuellement au moment de la màj de cette page (décembre 2021) : le mieux est la dernière version de RStudio.

Mettre le dictionnaire du correcteur d'orthographe de RStudio en Français.

Faire Tools/Global options et sélectionner Spelling.

Choisir un nouveau dictionnaire pour mettre le français.

2- Réalisation d'un notebook RmarkDown avec RStudio

2.1- Créer mon premier Notebook/Rmarkdown

1) C'est la première fois que je souhaite faire un rapport automatisé ? Comment je débute avec Rmarkdown ?

Réaliser des

Utiliser RStudio pour créer un Notebook en faisant File>New File>R Notebook/Rmarkdown (peu importe l'un ou l'autre).

RStudio va vous demander des màj : on dit oui à tout !

2) Il me demande un titre, je fais quoi ?

Eh bien je mets un titre ! Celui de mon choix : de préférence pertinent !

Et je coche l'option html (facile) ou pdf (plus difficile à gérer, mais support plus facile à mettre en forme).

3) Comment passer dans le mode visuel de l'éditeur Rmarkdown ?

Une fois que j'ai créer mon notebook ou mon rmarkdown, je clique sur le compas au haut à droite pour passer en mode visuel.

2.2- Prise en main de Rmarkdown

Grossièrement : il y a deux types de régions à mettre dans un notebook.

2.2.1- Les zones de texte

RAS : cela s'édite comme un traitement de texte.

2.2.2- Les zones de codes ou chunk

Pour ajouter une zone de code R : il suffit de taper le raccourci ctrl+alt+i. Le code sera à taper entre les balises ```.

```{r}


```

Des options vont permettre de rendre le code invisible ou visible dans le compte-rendu édité :

{r echo=TRUE} # CODE VISIBLE ET RESULTAT AUSSI

{r echo=FALSE} # CODE INVISIBLE ET RESULTAT VISIBLE : idéal pour insérer une figure

{r include=FALSE} # CODE INVISIBLE ET RESULTAT INVISIBLE

{r warning=FALSE} # MESSAGE D'ALERTE INVISIBLE

{r message=FALSE} # MESSAGE DE SORTIE INVISIBLE

# AFFICHER SCRIPT, MASQUER LES SORTIES DE FONCTIONS (output)

{r echo=TRUE, results='hide'

{r eval=FALSE} # Le chunk ne sera pas exécuté durant la compilation. 

Remarque : pour ajouter plusieurs arguments, il faut les séparer d'une virgule !

Ex :

{r echo=TRUE, warning=FALSE} 

On va ainsi pouvoir taper un exemple qui générera un histogramme.

```{r}

x <- rnorm(120) # Un commentaire dans une zone R est précédé d'un #

hist(x)

```

Attention de laisser une espace entre chaque zone R.

Voici 2 exemples : l'un dont le code est complet pour obtenir un notebook viable, l'autre directement ouvrable et publiable au format RMD

Exemple 1 de notebook (cliquer pour le voir)

Exemple complet :

---

title: "Mon premier Notebook"

output:

  html_notebook: default

  test01_notebook: default

  html_document:

    df_print: paged

---


#Titre de niveau 1


##Titre de niveau 2



```{r}

x <- rnorm(120) # Un commentaire dans une zone R est précédé d'un #

hist(x)


```

2.3- Publier votre compte-rendu au format PDF ou HTML

Pour éditer le compte-rendu, il suffit de cliquer sur le bouton Knit !

Oui, mais je fais quoi si la compilation au format PDF plante ?

2 options :

2.4- Sortir du mode visuel (cliquer pour dérouler)

On va pouvoir éditer un code qui permettra automatiquement d'avoir un notebook au format html avec de jolis titres.

Les titres sont à précéder de #.

---

title: "Mon premier Notebook"

output: test01_notebook

---

#Titre de niveau 1


##Titre de niveau 2


`Ceci est un commentaire précédé de `


On peut ajouter des commentaires précédés de ` (à taper avec altGr + 7)

3- Forum aux Question Rmarkdown (FAQ Rmarkdown)

Quand je veux publier mon rapport au format pdf pour la première fois, ça ne marche pas ? Que dois-je faire ?

Il suffit de taper (ou copier-coller) directement dans la console R/RStudio le code suivant :

tinytex::install_tinytex()

J'ai un message d'erreur qui parle de LaTeX et de kpathsea lorsque je tente de compiler mon pdf !

tinytex:::install_prebuilt() 

J'ai message d'erreur xfun::normalize_path lorsque je tente de compiler mon pdf avec knitr.

Je rencontre ce message d'erreur :

Erreur dans xfun::normalize_path(path, ..., must_work = must_work, resolve_symlink = FALSE) : 

  argument inutilisé (resolve_symlink = FALSE)

Appels : <Anonymous> -> normalize_path

Essayer le code suivant pour mettre tous les packages R à jour.

update.packages(checkBuilt =TRUE, ask = FALSE) 

Sinon, essayer de supprimer le packages xfun.

remove.packages("xfun")

Je ne réussis pas à installer une librairie sous RStudio. Que pour forcer l'installation d'une librairie sous RStudio ?

En général, le plus simple est d'ouvrir R GUI = R classique (pas RStudio) et d'installer ma librairie dans la console R :

install.packages("ma_librairie")

Ensuite, à chaque fois que j'aurais besoin de ma librairie dans RStudio je vais dans R et je fais ;

library("ma_librairie")

Penser aussi  à vérifier la connexion internet et vérifier aussi que R est à jour !

Je souhaite justifier le texte dans Rmarkdown et mettres des alinéas

---

title: 'Mon_titre'

author: "AM"

date: "April 1, 2021"

output: html_document

---


<style>

body {

text-align: justify}

</style>

Ensuite, à chaque fois que j'aurais besoin de ma librairie dans RStudio je vais dans R et je fais ;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cette phrase commence avec un alinéa.*

Je souhaite centrer les données lors de l'affichage d'un tableau data.frame

library(knitr)

data("iris")

kable(iris[1:5,],align=c(rep('c',times=5)))# 5 nombre de colonnes

Comment centrer et redimensionner un graphique dans Rmarkdown ?

{r fig1, fig.height = 4, fig.width = 4, fig.align = "center"}

data("iris")

plot(iris[,1],iris[,2])

Comment citer une variable dans le texte hors d'un chunk ?

Si je veux directement voir le contenu d'une variable glissé naturellement au milieu du texte.

Je fais la chose suivante, je me mets en mode Source (non visuel) et je tape `r nom_de_ma_variable`.

Remarque : ` se tape en faisant altGr+7

4- Créer un notebook avec Jupyter au lieu de RStudio

En développement.

L'avantage d'utiliser Jupyter, c'est que cet outil marchera aussi pour d'autres langages comme Python et Julia.

5- Convertir mon fichier Rmarkdown en script R

Il suffit de taper la commande suivante dans la console de RStudio :

knitr::purl("fichier.Rmd")