Warning: le package 'esquisse' a été compilé avec la version R 4.3.3
load("datas/P3_Menages.RData")
Bénédicte Garnier
Ined
10 juillet 2023
Rstudio possède des Addins qui permettent d’exécuter des fonctions R de façon interactive. Le code généré peut être sauvegardé pour l’insérer dans ses scripts R. Nous illustrons notre propos ici avec les packages esquisse pour visualiser des données ou produire des graphiques simples et questionr pour recoder des variables.
Packages | Fonctions |
---|---|
esquisse | ggplot2 |
questionr | irec |
Dans cette fiche vous verrez comment utiliser des Addins associés à certains packages de R qui permettent de produire le code R de façon interactive pour :
Ces exemples s’inspire des fiches pédagogiques produites dans le cadre de l’école d’été du Collège International des Sciences Territoriales.
Le fichier utilisé ici contient 10% des individus de la table Ménages extraite de l’enquête DHS passée au Bénin en 2017 (vague 7).
Documentation:
RStudio Addins sont des extensions pour l’environnement de développement intégré (IDE) RStudio
Séminaire R à l’Usage des Sciences Sociales, Esquisse, moins tu sais coder plus tu vas rigoler
Installation des packages
install.packages("esquisse")
install.packages("questionr")
Warning: le package 'esquisse' a été compilé avec la version R 4.3.3
load("datas/P3_Menages.RData")
On peut accéder à esquisse via le menu Addins de RStudio et en sélectionnant ggplot2 builder.
Ou directement par la console:
Lorsque l’application est ouverte, on accède directement à la fenêtre de chargement des données. Ici, comme les données ont été chargée dans R, elles sont directement accessibles <\>environnement
.
Sélection et visualisation de la table à l’aide de l’onglet View.
Sous le nom de chaque variable, on peut voir son type R : integer, factor, character.
On peut visualiser les modalités associées aux variables avec le bouton Data (en bas de la fenêtre).
La fenêtre d’esquisse permet de choisir les données à représenter et propose un graphique adapté au type de la variable dans R. Ici une box-plot.
On Sélectionne les variables par un glisser/déposer dans les zones correspondantes au paramétrage du graphique (x, y, fill, colors, size, … du package ggplot2).
Le rôle de ces options sont données en cliquant sur le bouton display settings qui se trouve en haut à droite de la fenêtre principale.
Pour en savoir plus sur les graphiques à produire en fonction des données à représenter, on peut se reporter au site de Y. Holtz From data to Viz.
Pour l’exemple, on va représenter le nombre de ménages par pays d’enquête hv000 avec un graphique en barres.
Si on souhaite modifier orienter les barres à l’horizontal (recommandé) on va dans l’onglet Plot options puis on coche Flip coordinate.
On utilise le bouton Plot options pour changer la disposition (ici barres horizontales).
On peut égalemet changer les titres du graphique dans l’onglet Ad Labels & Titles, et son apparence (couleurs, thème) dans l’onglet Appearance.
L’onglet Code affiche le code généré par l’application. On peut le récupérer par simple copier/coller
Comme l’interface ne permet pas de modifier la couleur du contour des barres, on peut le faire en modifiant légèrement le script. Après avoir collé le code du graphique dans un script, on ajoute par exemple à la fonction geom_bar()
l’option color="black"
.
library(ggplot2)
ggplot(P3_Menages) +
aes(x = hv000) +
geom_bar(fill = "#FF6992", color="black") +
labs(
x = "Enquête",
y = "Nombre de ménages",
title = "Ménages par pays et vagues d'enquête",
caption = "Source: DHS 2017"
) +
coord_flip() +
theme_light()
L’animation qui suit résume les différentes étapes (cliquer sur l’image pour la faire redémarrer au début et l’agrandir)
De la même façon, questionr permet de générer du code à partir du menu Tools/Addins de RStudio).
On accède à la fenêtre de recodage en cliquant sur Levels recoding. Par exemple pour la variable Pays et vague de l’enquête (hv000). On peut modifier le nom et type de variable à générer (ici hv000_rec de type caractère).
On change l’intitulé des modalités (bouton Recodage).
On génère le code et on visualise le résultat (bouton Code et Résultat).
De la même façon, on peut changer l’ordre des modalités d’une variable en sélectionnant l’Addin Levels Ordering.
---
title: "Graphiques et recodage sans code R"
date: 07/10/2023
categories:
- Addins
- Graphique
- Recodage
author:
- name: "Bénédicte Garnier"
affiliations:
- name: "Ined"
image: "http://dreamrs.github.io/esquisse/logo.png"
abstract: |
Rstudio possède des **Addins** qui permettent d'exécuter des fonctions R de façon interactive. Le code généré peut être sauvegardé pour l'insérer dans ses scripts R. Nous illustrons notre propos ici avec les packages **esquisse** pour visualiser des données ou produire des graphiques simples et **questionr** pour recoder des variables.
---
| Packages | Fonctions |
|---------------|-----------|
| **esquisse** | `ggplot2` |
| **questionr** | `irec` |
: **Fonctions utilisées dans la fiche**
Dans cette fiche vous verrez comment utiliser des *Addins* associés à certains packages de R qui permettent de produire le code R de façon interactive pour :
- Générer des graphiques exploratoires [addins **esquisse**]
- Recoder des variables [addins **questionr**]
Ces exemples s'inspire des fiches pédagogiques produites dans le cadre de [l'école d'été du Collège International des Sciences Territoriales](http://ee2023.netlify.app/).
Le fichier utilisé ici contient 10% des individus de la table *Ménages* extraite de l'[enquête DHS](http://dhsprogram.com/) passée au Bénin en 2017 (vague 7).
**Documentation**:
- [**RStudio Addins**](http://docs.posit.co/ide/user/ide/guide/productivity/add-ins.html) sont des extensions pour l'environnement de développement intégré (IDE) RStudio
- [**Débuter avec Esquisse**](http://cran.r-project.org/web/packages/esquisse/vignettes/get-started.html)
- Séminaire R à l'Usage des Sciences Sociales, [**Esquisse, moins tu sais coder plus tu vas rigoler**](http://russ.site.ined.fr/fr/annee-2022-2023/esquisse/)
- [**package questionr**](http://juba.github.io/questionr/articles/recoding_addins.html)
**Installation des packages**
```{.r}
install.packages("esquisse")
install.packages("questionr")
```
# Addins esquisse
```{r filename="Chargement du package et des données P3_Menages"}
library(esquisse)
load("datas/P3_Menages.RData")
```
On peut accéder à **esquisse** via le menu **Addins** de RStudio et en sélectionnant **ggplot2 builder**.
::: {.column width="65%"}
::: {.box_img}
![](img/img1.png)
:::
:::
Ou directement par la console:
```{.r}
esquisser()
```
## Chargement des données
Lorsque l'application est ouverte, on accède directement à la fenêtre de chargement des données. Ici, comme les données ont été chargée dans R, elles sont directement accessibles **`<\>environnement`**.
::: {.column width="65%"}
::: {.box_img}
![](img/img2.png)
:::
:::
Sélection et visualisation de la table à l'aide de l'onglet **View**.
::: {.column width="65%"}
::: {.box_img}
![](img/img3.png)
:::
:::
Sous le nom de chaque variable, on peut voir son *type R* : *integer, factor, character*.
On peut visualiser les *modalités* associées aux variables avec le bouton **Data** (en bas de la fenêtre).
::: {.column width="65%"}
::: {.box_img}
![](img/img4.png)
:::
:::
## Production d'un graphique
La fenêtre d'esquisse permet de *choisir* les données à représenter et *propose un graphique* adapté au type de la variable dans R. Ici une ***box-plot***.
::: {.column width="65%"}
::: {.box_img}
![](img/img5.png)
:::
:::
On Sélectionne les variables par un **glisser/déposer** dans les zones correspondantes au paramétrage du graphique (x, y, fill, colors, size, ... du package ggplot2).
Le rôle de ces options sont données en cliquant sur le bouton *display settings* qui se trouve en haut à droite de la fenêtre principale.
::: {.column width="65%"}
::: {.box_img}
![](img/img5b.png)
:::
:::
Pour en savoir plus sur les graphiques à produire en fonction des données à représenter, on peut se reporter au site de Y. Holtz [From data to Viz](http://www.data-to-viz.com/).
Pour l'exemple, on va représenter le nombre de ménages par pays d'enquête *hv000* avec un graphique en barres.
::: {.column width="65%"}
::: {.box_img}
![](img/img6.png)
:::
:::
Si on souhaite modifier orienter les barres à l'horizontal (recommandé) on va dans l'onglet **Plot options** puis on coche ***Flip coordinate***.
On utilise le bouton **Plot options** pour changer la disposition (ici barres horizontales).
::: {.column width="65%"}
::: {.box_img}
![](img/img7.png)
:::
:::
On peut égalemet changer les titres du graphique dans l'onglet **Ad Labels & Titles**, et son apparence (couleurs, thème) dans l'onglet **Appearance**.
::: {layout-ncol=2}
::: {.box_img}
![](img/img8.png){group="g1"}
:::
::: {.box_img}
![](img/img9.png){group="g1"}
:::
:::
## Exporter le code
L'onglet **Code** affiche le code généré par l'application. On peut le récupérer par simple copier/coller
::: {.column width="65%"}
::: {.box_img}
![](img/img10.png)
:::
:::
Comme l'interface ne permet pas de modifier la couleur du contour des barres, on peut le faire en modifiant légèrement le script. Après avoir collé le code du graphique dans un script, on ajoute par exemple à la fonction **`geom_bar()`** l'option `color="black"`.
```{.r}
library(ggplot2)
ggplot(P3_Menages) +
aes(x = hv000) +
geom_bar(fill = "#FF6992", color="black") +
labs(
x = "Enquête",
y = "Nombre de ménages",
title = "Ménages par pays et vagues d'enquête",
caption = "Source: DHS 2017"
) +
coord_flip() +
theme_light()
```
::: {.column width="65%"}
::: {.box_img}
```{r}
#| echo: false
#| warning: false
#| message: false
library(ggplot2)
ggplot(P3_Menages) +
aes(x = hv000) +
geom_bar(fill = "#FF6992", color="black") +
labs(
x = "Enquête",
y = "Nombre de ménages",
title = "Ménages par pays et vagues d'enquête",
caption = "Source: DHS 2017"
) +
coord_flip() +
theme_light()
```
:::
:::
L'animation qui suit résume les différentes étapes (cliquer sur l'image pour la faire redémarrer au début et l'agrandir)
::: {.column width="65%"}
::: {.box_img}
![](img/addins.gif)
:::
:::
# Addins de questionr
De la même façon, *questionr* permet de générer du code à partir du menu **Tools/Addins** de RStudio).
### Préparation de l'environnement
```{r}
# Appel du package questionr
library(questionr)
# Si besoin, on charge la table à visualiser (ici P3_Menages)
#load("datas/P3_Menages.RData")
```
::: {.column width="35%"}
::: {.box_img}
![](img/img11.png)
:::
:::
On accède à la fenêtre de recodage en cliquant sur **Levels recoding**. Par exemple pour la variable *Pays et vague de l'enquête (hv000)*. On peut modifier le nom et type de variable à générer (ici hv000_rec de type caractère).
::: {.column width="65%"}
::: {.box_img}
![](img/img11b.png)
:::
:::
On change l'intitulé des modalités (bouton **Recodage**).
::: {.column width="65%"}
::: {.box_img}
![](img/img12.png)
:::
:::
On génère le code et on visualise le résultat (bouton **Code et Résultat**).
::: {.column width="65%"}
::: {.box_img}
![](img/img13.png)
:::
:::
De la même façon, on peut changer l'ordre des modalités d'une variable en sélectionnant l'Addin **Levels Ordering**.