Skip to content

Commit 4f0de2f

Browse files
authored
Merge pull request #28 from MTES-MCT/27-exos-depuis-savoirfr
Migration des exos (à partir de savoirfR)
2 parents 31e42f7 + 86adeb2 commit 4f0de2f

34 files changed

+516
-2917
lines changed

.Rprofile

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
name: Déploiement de parcours_r_module_datavisualisation
2-
3-
on:
4-
push:
5-
branches:
6-
- main
7-
- master
8-
9-
workflow_dispatch:
10-
11-
jobs:
12-
build-and-deploy-bookdown:
13-
name: Build and bookdown
14-
uses: MTES-MCT/parcours-r/.github/workflows/bookdown-build-and-deploy.yml@master
15-
with:
16-
r_version: '4.0.4'
1+
name: Déploiement de parcours_r_module_datavisualisation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- master
8+
workflow_dispatch:
9+
10+
jobs:
11+
build-and-deploy-bookdown:
12+
name: Build and bookdown
13+
uses: MTES-MCT/parcours-r/.github/workflows/bookdown-build-and-deploy.yml@master
14+
with:
15+
r_version: '4.2.2'
16+

.github/workflows/bookdown-build.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
name: Test compilation de parcours_r_module_datavisualisation
2-
3-
on:
4-
pull_request:
5-
branches: [main, master, dev]
6-
types: [opened, synchronize]
7-
8-
workflow_dispatch:
9-
10-
jobs:
11-
build-bookdown:
12-
name: Build bookdown
13-
uses: MTES-MCT/parcours-r/.github/workflows/bookdown-build.yml@master
14-
with:
15-
r_version: '4.0.4'
1+
name: Test compilation de parcours_r_module_datavisualisation
2+
3+
on:
4+
pull_request:
5+
branches: [main, master, dev]
6+
types: [opened, synchronize]
7+
8+
workflow_dispatch:
9+
10+
jobs:
11+
build-bookdown:
12+
name: Build bookdown
13+
uses: MTES-MCT/parcours-r/.github/workflows/bookdown-build-from-desc.yml@master
14+
with:
15+
r_version: '4.2.2'

.github/workflows/deploy_bookdown.yml

Lines changed: 0 additions & 88 deletions
This file was deleted.

.github/workflows/rstudio-image-build.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,23 @@ on:
55
branches:
66
- main
77
- master
8+
- dev
89
paths:
910
- .github/workflows/rstudio-image-build.yml
1011
- Dockerfile
11-
- renv.lock
12+
- DESCRIPTION
1213

1314
pull_request:
1415
types: [opened, synchronize]
1516
branches: [main, master, dev]
1617
paths:
1718
- .github/workflows/rstudio-image-build.yml
1819
- Dockerfile
19-
- renv.lock
20+
- DESCRIPTION
2021

2122
workflow_dispatch:
2223

2324
jobs:
2425
build-rstudio-image:
2526
uses: MTES-MCT/parcours-r/.github/workflows/rstudio-image-build.yml@master
27+

.gitignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,9 @@
55
_book
66
_bookdown_files
77
_book.zip
8-
montableau.png
8+
montableau.png
9+
Valorisation**
10+
extdata/Carte_EPCI_France.RData
11+
extdata/ODD.RData
12+
extdata/rpls_aggrege.RData
13+
extdata/rpls_aggrege_large.RData

01b-get_started.Rmd

Lines changed: 4 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,10 @@
22

33
## Créer un projet sous Rstudio pour vous permettre de recencer vos travaux.
44

5-
Pourquoi travailler avec les projets Rstudio plutôt que les scripts R ?
6-
7-
- Cela permet la portabilité : le répertoire de travail par défaut d'un projet est le répertoire où est ce projet. Si vous transmettez celui-ci à un collègue, le fait de lancer un programme ne dépend pas de l'arborescence de votre machine.
8-
9-
> **Fini les `setwd("chemin/qui/marche/uniquement/sur/mon/poste")` !**
10-
11-
12-
- Toujours sur la portabilité, un projet peut être utilisé avec un outil comme `renv` qui va vous intégrer en interne au projet l'ensemble des packages nécessaires au projet. Cela permet donc à votre collègue à qui vous passez votre projet de ne pas avoir à les installer et, surtout, si vous mettez à jour votre environnement R, votre projet restera toujours avec les versions des packages avec lesquelles vous avez fait tourner votre projet à l'époque. Cela évite d'avoir à subir les effets d'une mise à jour importante d'un package qui casserait votre code.
13-
14-
Pour activer `renv` sur un projet, il faut l'installer avec `install.packages("renv")`.
15-
Pour intialiser la sauvegarde des packages employés dans le projet, il faut utiliser
16-
`renv::init()`
17-
Les packages chargés dans le projet sont enregistrés dans un sous-dossier dédié.
18-
En cours de travail sur le projet, la commande `renv::snapshot()` permet de faire une sauvegarde, la commande `renv::restore()` permet de charger la dernière sauvegarde.
19-
20-
[En savoir plus sur renv](https://blog.rstudio.com/2019/11/06/renv-project-environments-for-r/)
21-
22-
23-
24-
- Cela permet de se forcer à travailler en mode projet : on intègre à un seul endroit tout ce qui est lié à un projet : données brutes, données retravaillées, scripts, illustrations, documentations, publications... et donc y compris les packages avec `renv`.
25-
26-
- On peut travailler sur plusieurs projets en même temps, Rstudio ouvre autant de sessions que de projet dans ce cas.
27-
28-
- Les projets Rstudio intègrent une interface avec les outils de gestion de version git et svn. Cela veut dire que vous pouvez versionner votre projet et l'héberger simplement comme répertoire sur des plateformes de gestion de code telle que github ou gitlab.
29-
30-
**Pour créer un projet : **
31-
32-
- Cliquez sur *Project* en haut à droite puis *New Project*.
33-
34-
![](images/creerprojet1.png){#id .class width=500}
35-
36-
- Cliquez sur *New Directory*.
37-
38-
![](images/creerprojet2.png){#id .class width=500}
39-
5+
```{r collecte prez projet rstudio, warning=FALSE, echo=FALSE, results='asis'}
6+
# Utilisation du chapitre de présentation des projets RStudio présent dans https://github.com/MTES-MCT/parcours-r
7+
cat(text = stringi::stri_read_lines("https://raw.githubusercontent.com/MTES-MCT/parcours-r/master/parties_communes/bien_commencer.Rmd", encoding = "UTF-8"), sep = '\n')
8+
```
409

4110
## Intégrer vos données
4211

03-l-aesthetic.Rmd

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -57,25 +57,8 @@ Pour plus d'informations: https://github.com/daattali/colourpicker.
5757

5858
## Exercice 1
5959

60-
> A partir des données de la table rpls_aggrege_large (dans extdata/rpls_aggrege_large.RData),
61-
>
62-
> créer un nuage de point (un point par EPCI, filtre sur la variable TypeZone) entre :
63-
>
64-
> - le % de parc social de moins de 5 ans ('Parc_de_moins_de_5_ans_pourcent');
65-
>
66-
> - et le pourcentage de logement avec un DPE ges de classe A, B ou C ('DPE_GES_classe_ABC_pourcent');
67-
>
68-
> - et une couleur différente pour distinguer les epci de la région PDL (booléen 'epci_2017_52').
69-
70-
Le résultat attendu :
71-
72-
```{r eval=T,echo=F,warning=F}
73-
ggplot(data = rpls_aggrege_large %>%
74-
filter(TypeZone == "Epci")) +
75-
geom_point(aes(x = Parc_de_moins_de_5_ans_pourcent,
76-
y = DPE_GES_classe_ABC_pourcent,
77-
color = epci_2017_52),
78-
alpha = .5,
79-
size = .5
80-
)
60+
```{r mod5_exo1, child=charge_exo('m5', 'exo1.rmd'), echo=FALSE}
61+
8162
```
63+
64+

04-les-formes-geometriques.Rmd

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
Pour spécifier le type de représentation que l'on souhaite, il faut utiliser les fonctions de la forme **geom_XX**
44

5-
Le tableau ci-dessous présente quelques représentations graphiques classiques.
6-
Il en existe un grand nombre que l'on peut retrouver grâce à l'aide
5+
Le tableau ci-dessous présente quelques représentations graphiques classiques.
6+
Il en existe un grand nombre que l'on peut retrouver grâce à l'aide.
77

88
```{r fg4_1, echo=T,eval=F,warning = FALSE,message = FALSE}
99
help.search("^geom_", package = "ggplot2")
@@ -19,6 +19,10 @@ geom_histogram() | Histogramme | x, fill, linetype, color, alpha, size, weight
1919
geom_boxplot() | Boîte à moustaches | x, alpha, colour, fill, group, linetype, shape, size, weight
2020
geom_density() | Courbe de densité | x, y, alpha, color, fill, linetype, size, weight
2121

22+
La feuille de triche de `{ggplot2}` peut aider aussi à avoir une idée du geom qu'on cherche.
23+
24+
![Feuille de triche ggplot2](images/cheat_sheet_ggplot2.png "Accéder à la feuille de triche ggplot2 depuis RStudio"){#id .class width=716}
25+
2226
Il y a deux types de diagramme en barres : `geom_bar()` et `geom_col()`.
2327
`geom_bar()` ne prend pas de variable `y` dans le mapping, la hauteur des barres est proportionnelle à l'occurrence de chaque modalité de `x`. On peut pondérer chaque occurrence de `x` par une autre variable à indiquer au niveau du paramètre `weight`.
2428

06-l-habillage-simple.Rmd

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ Chaque nouvel élément graphique est à rajouter sous forme de layer. Ici, nous
77
```{r fg6_1, echo=T,eval=T,fig.height=5,fig.width=10}
88
ggplot(ODD_graphique1) +
99
geom_point(aes(x = log(Gross_Domestic_Product_GDP),
10-
y = log(Maternal_mortality_ratio),
11-
color = Continent)) +
10+
y = log(Maternal_mortality_ratio),
11+
color = Continent)) +
1212
labs(title = "Mortalité maternelle en fonction du PIB par habitant",
13-
subtitle = "En 2015",
14-
x = "PIB",
15-
y = "Taux de mortalité de la mère \n(pour 100 000 naissances)",
16-
color = "Les continents",
17-
caption = "Source : ODD / ONU")
13+
subtitle = "En 2015",
14+
x = "PIB",
15+
y = "Taux de mortalité de la mère \n(pour 100 000 naissances)",
16+
color = "Les continents",
17+
caption = "Source : ODD / ONU")
1818
```
1919

2020
À noter qu'il existe plusieurs autres façons de spécifier ces éléments par des couches spécifiques: `ggtitle`, `xlab`, `ylab`,...
@@ -27,19 +27,19 @@ Les guides peuvent être spécifiés dans chaque scale_* ou dans une instruction
2727
```{r fg6_2, echo=T,eval=T,fig.height=5,fig.width=10}
2828
ggplot(ODD_graphique1) +
2929
geom_point(aes(x = log(Gross_Domestic_Product_GDP),
30-
y = log(Maternal_mortality_ratio),
31-
color = Continent)) +
30+
y = log(Maternal_mortality_ratio),
31+
color = Continent)) +
3232
labs(title = "Mortalité maternelle en fonction du PIB par habitant",
33-
subtitle = "En 2015",
34-
x = "PIB",
35-
y = "Taux de mortalité de la mère \n(pour 100 000 naissances)",
36-
caption = "Source : ODD / ONU") +
33+
subtitle = "En 2015",
34+
x = "PIB",
35+
y = "Taux de mortalité de la mère \n(pour 100 000 naissances)",
36+
caption = "Source : ODD / ONU") +
3737
guides(color = guide_legend(direction = "horizontal",
38-
order = 1,
39-
title.position = "top",
40-
title.hjust = 0.5,
41-
nrow = 1,
42-
label.position = "bottom")) +
38+
order = 1,
39+
title.position = "top",
40+
title.hjust = 0.5,
41+
nrow = 1,
42+
label.position = "bottom")) +
4343
theme(legend.position = "bottom")
4444
```
4545

@@ -51,26 +51,26 @@ Il est aussi possible de rajouter des annotations de type texte ou autre, par ex
5151
5252
ggplot(ODD_graphique1) +
5353
geom_point(aes(x = log(Gross_Domestic_Product_GDP),
54-
y = log(Maternal_mortality_ratio),
55-
color = Continent)) +
54+
y = log(Maternal_mortality_ratio),
55+
color = Continent)) +
5656
labs(title = "Mortalité maternelle en fonction du PIB par habitant",
57-
subtitle = "En 2015",
58-
x = "PIB",
59-
y = "Taux de mortalité de la mère \n(pour 100 000 naissances)",
60-
caption = "Source : ODD / ONU") +
57+
subtitle = "En 2015",
58+
x = "PIB",
59+
y = "Taux de mortalité de la mère \n(pour 100 000 naissances)",
60+
caption = "Source : ODD / ONU") +
6161
annotate("label",
62-
x = 11,
63-
y = 6.5,
64-
size = 3,
65-
label = "882 décès \npour 100 000 naissances \nen République centrafricaine",
66-
color = "white",
67-
fill = "red") +
62+
x = 11,
63+
y = 6.5,
64+
size = 3,
65+
label = "882 décès \npour 100 000 naissances \nen République centrafricaine",
66+
color = "white",
67+
fill = "red") +
6868
annotate("curve",
69-
xend = log(333.1885), yend = log(882),
70-
x = 10.2, y = 6.5,
71-
curvature = -0.1,
72-
color = "red",
73-
arrow = arrow(length = unit(2, "mm"))
69+
xend = log(333.1885), yend = log(882),
70+
x = 10.2, y = 6.5,
71+
curvature = -0.1,
72+
color = "red",
73+
arrow = arrow(length = unit(2, "mm"))
7474
) +
7575
theme(legend.position = "bottom")
7676
```

0 commit comments

Comments
 (0)