Skip to content

Commit 6134e2f

Browse files
rewrite of the decouverte.rmd
1 parent 243552d commit 6134e2f

File tree

8 files changed

+406
-209
lines changed

8 files changed

+406
-209
lines changed

inst/tutorials/02b_decouverte/decouverte.Rmd

Lines changed: 127 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,63 @@ author : "Guyliann Engels & Philippe Grosjean"
55
output:
66
learnr::tutorial:
77
progressive: true
8-
allow_skip: true
98
fig_caption: yes
109
tutorial:
11-
version: 0.12
10+
id: "sdd1.02b"
11+
version: 0.0.1
1212
runtime: shiny_prerendered
1313
---
1414

15-
![](images/intro.png)
16-
1715
```{r setup, include=FALSE}
1816
library(learnr)
19-
knitr::opts_chunk$set(echo = FALSE)
2017
library(knitr)
2118
SciViews::R()
19+
20+
options(tutorial.event_recorder = BioDataScience::record_sdd)
21+
tutorial_options(exercise.checker = BioDataScience::checker_sdd)
22+
tutorial_options(exercise.timelimit = 60)
23+
tutorial_options(exercise.cap = "Code R")
24+
knitr::opts_chunk$set(echo = FALSE, comment = NA)
25+
26+
library(knitr)
2227
library(BioDataScience)
23-
library(skimr)
28+
29+
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!
2446
```
2547

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+
2665

2766
## Objectif
2867

@@ -34,13 +73,12 @@ Ce tutoriel a pour objectif de vous permettre de :
3473
include_graphics(path = "images/Rlogo.png")
3574
```
3675

37-
Il est important de préciser que l'ensemble de vos résultats est collecté afin de suivre votre progression. Ce test n'est cependant pas certificatif.
3876

3977
## Introduction
4078

4179
R est un programme **Open Source** qui permet la manipulation, la visualisation et l'application de calculs statistiques sur des données.
4280

43-
- Manipuler
81+
### Manipuler
4482

4583
En partant d'un tableau de données relatif à la biométrie humaine de 395 observations.
4684

@@ -81,7 +119,7 @@ bio%>.%
81119
c
82120
```
83121

84-
- Visualiser
122+
### Visualiser
85123

86124
```{r, echo = FALSE, message= FALSE, warning= FALSE}
87125
lux <- read("../../../data-raw/Lux_hobo.csv")
@@ -202,10 +240,15 @@ L'espace ci-dessous est une zone de code R. Tu peux y ajouter tes réponses et c
202240
203241
```
204242

205-
```{r id2_imc-hint}
243+
```{r id2_imc-solution}
206244
93 / 1.91^2
207245
```
208246

247+
248+
```{r id2_imc-check}
249+
# Not yet...
250+
```
251+
209252
Son IMC indique que cet homme est par contre dans la catégorie `surpoids` selon l'échelle de l'OMS.
210253

211254
## Calcul de l'IMC sur plusieurs individus
@@ -246,7 +289,7 @@ h2 <-
246289

247290
Vous obtenez les 5 valeurs d'IMC d'une seule fois avec l'utilisation de vecteurs.
248291

249-
```{r vec_imc-hint}
292+
```{r vec_imc-solution}
250293
# assignation des valeurs de masse dans un vecteur au symbole masse
251294
w2 <- c(82, 73, 105, 61, 95)
252295
# assignation des valeurs dans un vecteur au symbole taille
@@ -255,6 +298,10 @@ h2 <- c(1.74, 1.86, 2.03, 1.72, 1.90)
255298
w2/h2^2
256299
```
257300

301+
```{r vec_imc-check}
302+
# Not yet...
303+
```
304+
258305
## Ecriture d'un tableau de données
259306

260307
Il devient évident qu'il est plus simple que nos observations de terrain soient rassemblées en un jeu de données structurées pour cela vous allez employer votre première fonction `data_frame()`. Cette dernière va permettre de combiner vos différents vecteurs en un jeu de données.
@@ -287,7 +334,7 @@ w2 <- c(82, 73, 105, 61, 95)
287334
h2 <- c(1.74, 1.86, 2.03, 1.72, 1.90)
288335
```
289336

290-
```{r data_homme, exercise = TRUE, exercise.setup = "prepare"}
337+
```{r data_man, exercise = TRUE, exercise.setup = "prepare"}
291338
# formation du jeu de données
292339
man1 <- data_frame(id = ,
293340
sex = ,
@@ -297,7 +344,7 @@ man1 <- data_frame(id = ,
297344
298345
```
299346

300-
```{r data_homme-hint}
347+
```{r data_man-solution}
301348
# formation du jeu de données
302349
man1 <- data_frame(id = c(8, 9, 10, 11, 12),
303350
sex = c("h", "h", "h", "h", "h"),
@@ -307,6 +354,13 @@ man1 <- data_frame(id = c(8, 9, 10, 11, 12),
307354
man1
308355
```
309356

357+
358+
```{r vec_man-check}
359+
# Not yet...
360+
```
361+
362+
363+
310364
Calculez de nouveau l'IMC et ajoutez vos résultats dans le tableau de données. Vous avez à votre disposition la fonction `mutate()` qui requiert comme argument le jeu de données et le nom de la nouvelle variable suivi de la formule mathématique.
311365

312366
```{r, echo = TRUE}
@@ -333,13 +387,19 @@ man1 <- mutate(man1, bmi = )
333387
334388
```
335389

336-
```{r imc_mutate-hint}
390+
```{r imc_mutate-solution}
337391
# calculer l'IMC
338392
man1 <- mutate(man1, bmi = weight/height^2)
339393
# afficher le tableau de données avec la fonction head()
340394
head(man1)
341395
```
342396

397+
398+
```{r imc_mutate-check}
399+
# Not yet...
400+
```
401+
402+
343403
Vous pouvez observer que tout comme le tableau de données portant sur les femmes, vous obtenez une nouvelle colonne au sein de votre tableau de données portant le nom de BMI soit l'IMC en français.
344404

345405
## 13% de la population adulte mondiale est obèse
@@ -382,13 +442,17 @@ Calculez l'IMC sur le jeu de données `bio`.
382442
```
383443

384444

385-
```{r bio_imc-hint}
445+
```{r bio_imc-solution}
386446
# calculer le IMC (BMI en anglais)
387447
bio <- mutate(bio, bmi = weight/(height/100)^2)
388448
# afficher les premières lignes du tableau de données
389449
head(bio, n = 5)
390450
```
391451

452+
```{r bio_imc-check}
453+
# Not yet...
454+
```
455+
392456
## Signification de l'IMC selon l'échelle
393457

394458
Une fois la valeur obtenue de l'IMC, il faut lui attribuer son interprétation pour connaitre son état de santé.
@@ -462,6 +526,24 @@ bio <- mutate(bio, bmi_signif =
462526
head()
463527
```
464528

529+
```{r case_when-solution}
530+
#ajouter la nouvelles variable
531+
bio <- mutate(bio, bmi_signif =
532+
case_when(
533+
bmi < 18.5 ~ "underweight",
534+
bmi > 18.5 & bmi < 25 ~ "normal weight",
535+
bmi >= 25 & bmi < 30 ~ "overweight",
536+
bmi >= 30 ~ "obese"))
537+
# afficher le tableau
538+
head()
539+
```
540+
541+
542+
```{r case_when-check}
543+
# Not yet...
544+
```
545+
546+
465547
Votre nouvelle variable comprend une succession de lignes complétée par des chaines de caractères. Organisez cette variable de votre tableau de données avec la fonction `factor()`. Observez la nouvelle structuration de la suite d'instructions. Vous observez pour la première fois l'opérateur `$`. Dans l'exemple ci-dessous, vous pouvez l'interpréter comme dans le tableau de données `bio_ex`, je m'intéresse à la colonne/variable `bmi_signif`. La fonction `factor()` s'appliqe donc sur cette colonne. Avec l'argument `levels`, vous spécifiez les différents niveaux de votre variable à classer.
466548

467549
Classer votre nouvelle variable avec le jeu de données `bio_ex`.
@@ -491,10 +573,14 @@ bio <- mutate(bio, bmi_signif =
491573
bio$ <- factor(bio_ex$bmi_signif, levels = )
492574
```
493575

494-
```{r factor-hint}
576+
```{r factor-solution}
495577
bio$bmi_signif <- factor(bio_ex$bmi_signif, levels = c("underweight", "normal weight", "overweight", "obese"))
496578
```
497579

580+
```{r factor-check}
581+
# Not yet...
582+
```
583+
498584
## Vérification de l'affirmation du journal le monde
499585

500586
La fonction `summary()` permet d'obtenir un résumé complet d'un tableau de données.
@@ -528,21 +614,41 @@ Utilisez la fonction `summary()` pour obtenir une description du tableau de donn
528614
summary()
529615
```
530616

617+
618+
```{r obese-check}
619+
# Not yet...
620+
```
621+
622+
531623
```{r obese1, exercise = TRUE}
532624
# calculer le pourcentage d'obèse dans notre tableau de données
533625
/ 395
534626
```
535627

628+
```{r obese1-check}
629+
# Not yet...
630+
```
631+
536632
## Conclusion
537633

538634
Le nombre d'obèse sur notre jeu de données est 12.6% ce qui est très proche des 13% annoncé par le monde.
539635

540-
Vous venez de finir votre premier tutoriel interractif. Ce dernier vous a proposé une première découverte des inombrables possibilités de R.
636+
Bravo! Vous venez de terminez cette séance d'exercices dans un tutoriel "learnr".
541637

542-
Laissez nous vos impressions sur cet outil pédagogique. Afin de placer un commentaire dans une zone de réponse utilisez la dièse (`#`) devant vos phrases.
638+
Durant cette séance, vous avez appris à :
543639

544-
```{r comm, exercise = TRUE}
545-
# ajout de commentaires
546-
#
640+
- Effectuer des calculs dans R
641+
- Créer des vecteurs et vectoriser vos calculs
642+
- Assigner les résultats à un nom
643+
- Employer des fonctions, préciser leurs arguments et accéder à leurs pages d'aide
644+
645+
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.
646+
647+
```{r comm, exercise=TRUE, exercise.lines = 8}
648+
# Ajout de commentaires
649+
# ...
547650
```
548651

652+
```{r comm-check}
653+
# Not yet...
654+
```

0 commit comments

Comments
 (0)