Skip to content

Commit df33441

Browse files
edition of test 05 module
1 parent 0bafb3b commit df33441

File tree

4 files changed

+629
-0
lines changed

4 files changed

+629
-0
lines changed
Loading
10 KB
Loading

inst/tutorials/05a_test/test.Rmd

Lines changed: 252 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
---
2+
title: "Module 5 : vérification des compétences"
3+
subtitle: "Traitement des données I"
4+
author: "Guyliann Engels & Philippe Grosjean"
5+
output:
6+
learnr::tutorial:
7+
progressive: true
8+
tutorial:
9+
id: "sdd1.05a"
10+
version: 1.0.0
11+
runtime: shiny_prerendered
12+
---
13+
14+
```{r setup, include=FALSE}
15+
library(learnr)
16+
library(knitr)
17+
SciViews::R()
18+
19+
options(tutorial.event_recorder = BioDataScience::record_sdd)
20+
tutorial_options(exercise.checker = BioDataScience::checker_sdd)
21+
tutorial_options(exercise.timelimit = 60)
22+
tutorial_options(exercise.cap = "Code R")
23+
knitr::opts_chunk$set(echo = FALSE, comment = NA)
24+
25+
library(BioDataScience)
26+
library(ggridges)
27+
28+
# Dataset
29+
crabs <- read("crabs", package = "MASS", lang = "fr")
30+
```
31+
32+
```{r, echo=FALSE}
33+
fixedRow(
34+
column(9, div(
35+
img(src = 'images/BioDataScience-128.png', align = "left"),
36+
h1("Science des données biologiques"),
37+
"Réalisé par le service d'Écologie numérique des Milieux aquatiques, Université de Mons (Belgique)"
38+
)),
39+
column(3, div(
40+
textInput("user", "Utilisateur :", ""),
41+
textInput("email", "Email :", "")
42+
))
43+
)
44+
textOutput("user") # This is newer shown, but required to trigger an event!
45+
textOutput("email") # Idem!
46+
```
47+
48+
```{r, context="server"}
49+
output$user <- renderText({BioDataScience::user_name(input$user);""})
50+
output$email <- renderText({BioDataScience::user_email(input$email);""})
51+
updateTextInput(session, "user", value = BioDataScience::user_name())
52+
updateTextInput(session, "email", value = BioDataScience::user_email())
53+
```
54+
55+
56+
## Préambule
57+
58+
Si vous n'avez jamais utilisé de tutoriel "learnr", familiarisez-vous d'abord avec son interface [ici](http://biodatascience-course.sciviews.org/sdd-umons/learnr.html).
59+
60+
![](images/attention.jpg)
61+
62+
> Conformément au RGPD ([Règlement Général sur la Protection des Données](https://ec.europa.eu/info/law/law-topic/data-protection/reform/rules-business-and-organisations/principles-gdpr_fr)), nous sommes tenus de vous informer de ce que vos résultats seront collecté afin de suivre votre progression. **Les données seront enregistrées au nom de l'utilisateur apparaissant en haut de cette page. Corrigez si nécessaire !** En utilisant ce tutoriel, vous marquez expressément votre accord pour que ces données puissent être collectées par vos enseignants et utilisées pour vous aider et vous évaluer. Après avoir été anonymisées, ces données pourront également servir à des études globales dans un cadre scientifique et/ou éducatif uniquement.
63+
64+
65+
## Objectifs
66+
67+
- Vérifier l'acquisition des notions relatives aux remaniement des données avec les fonctions select(), filter(), mutate(), group_by(), summarise()
68+
- Vérifier l'acquisition des données relatives aux chainages des intructions
69+
70+
71+
## Remaniement des donnés & chainage
72+
73+
Le remaniement des données est indispensable lors d'une analyse de données. Pour ce faire, le jeu de données sur la biométrie des crabes est employé.
74+
75+
```{r}
76+
# Importation des principaux packages
77+
SciViews::R
78+
# Importation des données sur la biométrie des crabes
79+
(crabs <- read("crabs", package = "MASS", lang = "fr"))
80+
```
81+
82+
### Calcule de nouvelles variables
83+
84+
Calculez
85+
86+
- le logarithme de la longueur de la carapace des crabes et nommez cette nouvelle variables **length_log**
87+
- la racine carrée de la largueur de la carapace et nommez cette nouvelle variable **width_sqrt**
88+
- Divisez la variable front par 1000 et nommez cette nouvelle variable **front_m**
89+
90+
Affichez ensuite les 6 premières lignes du tableau.
91+
92+
**Nom du jeu de données et des variables importantes**
93+
94+
```{r, echo = TRUE}
95+
variable <- c("crabs", names(crabs), "log()", "sqrt()", "*", "head()" )
96+
sample(variable)
97+
```
98+
99+
remarques : l'ensemble des variables ci-dessus ne sont pas à employer dans cet exercice.
100+
101+
Vous devez obtenir le tableau ci-dessous
102+
103+
104+
```{r}
105+
# Mutate
106+
crabs %>.% mutate(.,
107+
length_log = log(length),
108+
width_sqrt = sqrt(width),
109+
front_m = front/1000) -> crabs
110+
# Visualisation des premières lignes du tableau
111+
head(crabs)
112+
```
113+
114+
```{r mutate, exercise=TRUE}
115+
116+
```
117+
118+
```{r mutate-solution}
119+
# Mutate
120+
crabs %>.% mutate(.,
121+
length_log = log(length),
122+
width_sqrt = sqrt(width),
123+
front_m = front/1000) -> crabs
124+
# Visualisation des premières lignes du tableau
125+
head(crabs)
126+
```
127+
128+
```{r mutate-check}
129+
# Not yet...
130+
```
131+
132+
### Filtre et sélection de données
133+
134+
Reprennons le jeu de données initial sur la biométrie des crabes
135+
136+
```{r}
137+
# Importation des données sur la biométrie des crabes
138+
(crabs <- read("crabs", package = "MASS", lang = "fr"))
139+
```
140+
141+
Réalisez les opérations suivantes
142+
143+
- Retirer la variable index du jeu de données
144+
- Garder uniquement les individus mâles du jeu de données dont la longeur de la carapace est supérieur à 25 mm
145+
- Affichez ensuite les 6 premières lignes du tableau
146+
147+
Employez le chainage pour résoudre cette exercice.
148+
149+
**Nom du jeu de données et des variables importantes**
150+
151+
```{r, echo = TRUE}
152+
variable <- c("crabs", names(crabs), "filter", "select", "head" )
153+
sample(variable)
154+
```
155+
156+
remarques : l'ensemble des variables ci-dessus ne sont pas à employer dans cet exercice.
157+
158+
Vous devez obtenir le tableau ci-dessous
159+
160+
```{r}
161+
crabs %>.%
162+
select(., - index) %>.%
163+
filter(., sex == "M" & length >= 25) %>.%
164+
head(.)
165+
```
166+
167+
168+
```{r pipe1, exercise=TRUE}
169+
170+
```
171+
172+
```{r pipe1-solution}
173+
crabs %>.%
174+
select(., - index) %>.%
175+
filter(., sex == "M" & length >= 25) %>.%
176+
head(.)
177+
```
178+
179+
```{r pipe1-check}
180+
# Not yet...
181+
```
182+
183+
### Résumé des données
184+
185+
Reprennons le jeu de données initial sur la biométrie de crabes
186+
187+
```{r}
188+
# Importation des données sur la biométrie des crabes
189+
(crabs <- read("crabs", package = "MASS", lang = "fr"))
190+
```
191+
192+
Réalisez les opérations suivantes
193+
194+
- Sélectionnez les individus dont la longueur est strictement supérieur à 25 mm
195+
- Résumez le jeu de données par le sex et par la variété de *Leptograpsus variegatus*
196+
+ Calculez la moyenne de la largeur des carapaces par groupe
197+
+ Dénombrez les individus par groupe
198+
- Formatez votre tableau avec la fonction kable()
199+
200+
Employez le chainage pour résoudre cette exercice.
201+
202+
**Nom du jeu de données et des variables importantes**
203+
204+
```{r, echo = TRUE}
205+
variable <- c("crabs", names(crabs), "n()", "mean()", "kable()", "group_by()", "filter()" )
206+
sample(variable)
207+
```
208+
209+
remarques : l'ensemble des variables ci-dessus ne sont pas à employer dans cet exercice.
210+
211+
Vous devez obtenir le tableau ci-dessous
212+
213+
```{r}
214+
crabs %>.%
215+
filter(., length > 25) %>.%
216+
group_by(., species, sex) %>.%
217+
summarise(., mean = mean(width), number = n()) %>.%
218+
knitr::kable(.)
219+
```
220+
221+
```{r pipe2, exercise=TRUE}
222+
library(knitr)
223+
224+
```
225+
226+
```{r pipe2-solution}
227+
crabs %>.%
228+
filter(., length > 25) %>.%
229+
group_by(., species) %>.%
230+
summarise(., mean = mean(width), number = n()) %>.%
231+
knitr::kable(.)
232+
```
233+
234+
```{r pipe2-check}
235+
# Not yet...
236+
```
237+
238+
## Conclusion
239+
240+
Bravo! Vous venez de terminer votre séance d'exercices dans un tutoriel "learnr".
241+
242+
Laissez nous vos impressions sur cet outil pédagogique ou expérimentez encore dans la zone ci-dessous. Rappelez-vous que pour placer un commentaire dans une zone de code R, vous devez utilisez un dièse (`#`) devant vos phrases.
243+
244+
```{r comm, exercise=TRUE, exercise.lines = 8}
245+
# Ajout de commentaires
246+
# ...
247+
```
248+
249+
```{r comm-check}
250+
# Not yet...
251+
```
252+

0 commit comments

Comments
 (0)