Skip to content

Commit 28dc17f

Browse files
committed
Learnrs for module 2 revised for 2024-2025
1 parent 5511e8e commit 28dc17f

File tree

4 files changed

+30
-24
lines changed

4 files changed

+30
-24
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Package: BioDataScience1
2-
Version: 2024.1.0
2+
Version: 2024.2.0
33
Title: A Series of Learnr Documents for Biological Data Science 1
44
Description: Interactive documents using learnr and shiny applications for studying biological data science.
55
Authors@R: c(

NEWS.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1+
# BioDataScience1 2024.2.0
2+
3+
- Learnrs **A02La_progression** and **A02Lb_univariate** revised.
4+
15
# BioDataScience1 2024.1.0
26

37
- All learnrs inactivated, except those for the first module.
48

59
- Shiny apps in v2.0.0 (now records in the events table).
610

11+
- Learnrs **A00La_discovery**, **A01La_base** and **A01Lb_scatterplot** revised.
12+
713
# BioDataScience1 2024.0.0
814

915
- New version for academic year 2024-2025.

inst/tutorials/A02La_progression/A02La_progression.Rmd.inactivated renamed to inst/tutorials/A02La_progression/A02La_progression.Rmd

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Dans ce tutoriel, nous utiliserons ensemble R pour résoudre une question biolog
4545

4646
En partant d'un tableau de données relatif à de la biométrie humaine contenant 395 observations et sept variables :
4747

48-
```{r, echo=TRUE}
48+
```{r, echo=TRUE, warning=FALSE}
4949
# Chargement de SciViews::R
5050
SciViews::R(lang = "fr")
5151
# Importation du jeu de données
@@ -76,7 +76,7 @@ Le point d'interrogation devant notre jeu de données renvoie vers une page d'ai
7676

7777
Nous commençons par sélectionner des colonnes d'intérêt du tableau initial `biometry`.
7878

79-
```{r, echo = TRUE}
79+
```{r, echo=TRUE}
8080
bio <- sselect(biometry, -day_birth, -wrist, -year_measure)
8181
```
8282

@@ -86,25 +86,25 @@ Nous réalisons cette sélection avec la fonction `sselect()` en éliminant des
8686

8787
Utilisons la fonction `tabularise()` du package {tabularise} maintenant pour présenter les huit premières lignes de notre jeu de données.
8888

89-
```{r, echo=TRUE}
89+
```{r, echo=TRUE, warning=FALSE}
9090
tabularise(bio, max.rows = 8)
9191
```
9292

9393
**Notez ceci :**
9494

95-
Le pipe `%>.%` et le chaînage que nous avons également découvert à la fin du précédent tutoriel sont employés dans les instructions ci-dessus.
95+
Le "pipe" `%>.%` (prononcez "païpe" comme en anglais) et le chaînage que nous avons également découvert à la fin du précédent tutoriel sont employés dans les instructions ci-dessus.
9696

9797
Considérons maintenant uniquement les femmes. On peut filtrer les lignes d'un tableau de données en utilisant comme critère `gender == "W"` (**attention :** notez bien que dans un *test de condition*, l'égalité s'écrit avec **deux** signes égaux dans R). Les autres options sont : `!=` pour différent de, `>` pour plus grand que, `<` pour plus petit que, ainsi que `>=` ou `<=` pour plus grand ou égale et plus petit ou égal.
9898

99-
```{r, echo=TRUE}
99+
```{r, echo=TRUE, warning=FALSE}
100100
bio %>.%
101101
sfilter(., gender == "W") %>.%
102102
tabularise(., max.rows = 8)
103103
```
104104

105105
Continuons à manipuler notre tableau en sélectionnant des colonnes et en filtrant les lignes en une seule opération. Pour sélectionner les femmes `gender == "W"` et retirer la colonne `age`, nous utiliserons :
106106

107-
```{r, echo=TRUE}
107+
```{r, echo=TRUE, warning=FALSE}
108108
bio %>.%
109109
sfilter(., gender == "W") %>.% # Sélectionne les femmes
110110
sselect(., -age) %>.% # Retire la colonne âge
@@ -156,7 +156,7 @@ chart(data = biometry, height ~ weight %col=% gender) +
156156

157157
Avez-vous remarqué la ressemblance dans la syntaxe employée pour réaliser un graphique en barres, un histogramme, un graphique en violon ou encore un nuage de points ? Nous utilisons la fonction `chart()` à chaque fois. On commence par lui fournir le tableau de données à employer avec `data =`, puis une "formule", c'est-à-dire une description de type `y ~ x` ... avec le tilde `~` qui caractérise cet objet formule. Si on reprend le nuage de points réalisé, on utilise le tableau `biometry` pour réaliser un graphique de la hauteur en fonction (symbolisé par le tilde `~` donc) de la masse. On spécifie que ce graphique est un nuage de points grâce à `geom_point()`. La formule peut être plus complexe si on souhaite ajouter des éléments en plus (comme différencier le genre des personnes grâce à la couleur). Le `+`permet d'ajouter des couches sur le graphique. En résumé, on aura la structure ci-dessous. La fonction `geom_...()` va varier en fonction du type de graphique à réaliser : `geom_point()` (un nuage de points), `geom_bar()` (un graphique en barres), `geom_histogram()` (un histogramme), `geom_boxplot()` (une boite de dispersion)... Si toute cette terminologie vous est étrangère, n'ayez crainte, nous l'étudierons progressivement. Retenez simplement à ce stade qu'il s'agit de types différents de graphiques. Nous pouvons donc résumer le canevas général comme suit (avec les items en lettres majuscules à replacer selon le contexte) :
158158

159-
```{r, echo=TRUE, eval = FALSE}
159+
```{r, echo=TRUE, eval=FALSE}
160160
chart(data = DF, FORMULA) +
161161
geom_TYPE()
162162
```
@@ -282,7 +282,7 @@ weight_w / height_w^2
282282

283283
- Éviter d'utiliser des caractères accentués.
284284

285-
- Si possible, utilisez des noms en anglais. Certainement si votre travail sera échangé avec d'autres scientifiques en international, ... mais c'est une bonne habitude à prendre même sur votre propre code. Pour reprendre l'exemple précédent `wrist_circumference`
285+
- Si possible, utilisez des noms en anglais. Certainement si votre travail sera échangé avec d'autres scientifiques en international... mais c'est une bonne habitude à prendre même sur votre propre code. Pour reprendre l'exemple précédent `wrist_circumference`
286286

287287
Réalisez les mêmes opérations sur les individus 8 à 12 qui sont des hommes.
288288

@@ -381,7 +381,7 @@ man <- dtx(
381381
weight = ___,
382382
height = ___
383383
)
384-
# Afficher le tableau
384+
# Afficher le tableau (simplement sans utiliser tabularise)
385385
___
386386
```
387387

@@ -394,7 +394,7 @@ man <- dtx(
394394
weight = weight_m,
395395
height = height_m
396396
)
397-
# Afficher le tableau
397+
# Afficher le tableau (simplement sans utiliser tabularise)
398398
man
399399
```
400400

@@ -436,15 +436,15 @@ man <- dtx(
436436
```{r imc_mutate, exercise=TRUE, exercise.setup="imc_mutate_setup"}
437437
# Calculer l'IMC pour les hommes
438438
man <- smutate(man, bmi = ___)
439-
# Afficher le tableau de données
439+
# Afficher le tableau de données (sans tabularise)
440440
___
441441
```
442442

443443
```{r imc_mutate-solution}
444444
## Solution ##
445445
# Calculer l'IMC pour les hommes
446446
man <- smutate(man, bmi = weight / height^2)
447-
# Afficher le tableau de données
447+
# Afficher le tableau de données (sans tabularise)
448448
man
449449
```
450450

@@ -464,7 +464,7 @@ biometry <- read("biometry", package = "BioDataScience")
464464
bio_100 <- biometry[1:100, ]
465465
```
466466

467-
Vous pouvez observer que la taille est ici exprimée en centimètres, il faut en tenir compte lors du calcul de l'IMC qui attend la taille exprimée en mètre. Un jeu de données réduit est employé pour expliciter les suites d'instructions `bio_100` qui ne reprends que 100 observations du jeu de données complet `biometry`.
467+
Vous pouvez observer que la taille est ici exprimée en centimètres, il faut en tenir compte lors du calcul de l'IMC qui attend la taille exprimée en mètre. Un jeu de données réduit est employé pour expliciter les suites d'instructions `bio_100` qui ne reprend que 100 observations du jeu de données complet `biometry`.
468468

469469
Pour calculer l'IMC sur le jeu de données `bio_100`, nous employons à nouveau la fonction `smutate()`.
470470

@@ -502,7 +502,7 @@ head(biometry, n = 5)
502502

503503
```{r bio_imc_h2-check}
504504
grade_code(
505-
correct = "Vous progressez très rapidement.", incorrect = "Observez comment nous avions fait sur `bio`. N'auriez vous pas oublié quelque chose ?")
505+
correct = "Vous progressez très rapidement.", incorrect = "Observez comment nous avions fait sur `bio`. N'auriez-vous pas oublié quelque chose ?")
506506
```
507507

508508
## Signification de l'IMC
@@ -532,14 +532,14 @@ Vous avez à votre disposition la fonction `case_when()` qui permet d'attribuer
532532
Ajoutez une nouvelle variable qui tient compte de l'échelle de l'OMS dans le jeu de données `bio_100` dans la variable `bmi_cat`. Analysez la structuration de la suite d'instructions, les conditions employées, la position des guillemets ...
533533

534534
```{r, echo=TRUE}
535-
# Ajouter la nouvelles variable
535+
# Ajouter la nouvelle variable
536536
bio_100 <- smutate(bio_100, bmi_cat = case_when(
537537
bmi < 18.5 ~ "underweight",
538538
bmi >= 18.5 & bmi < 25 ~ "normal weight",
539539
bmi >= 25 & bmi < 30 ~ "overweight",
540540
bmi >= 30 ~ "obese"
541541
))
542-
# Afficher le tableau
542+
# Afficher les 5 premières lignes du tableau
543543
head(bio_100)
544544
```
545545

@@ -551,35 +551,35 @@ biometry <- smutate(biometry, bmi = weight / (height / 100)^2)
551551
```
552552

553553
```{r case_when, exercise=TRUE, exercise.setup="case_when_setup"}
554-
# Ajouter la nouvelles variable
554+
# Ajouter la nouvelle variable
555555
___ <- smutate(___, bmi_cat = case_when(
556556
bmi ___ ___~ "underweight",
557557
bmi ___ ___~ "normal weight",
558558
bmi ___ ___~"overweight",
559559
bmi ___ ___~ "obese"
560560
))
561-
# Afficher le début du tableau
561+
# Afficher les 5 premières lignes du tableau
562562
head(___)
563563
```
564564

565565
```{r case_when-solution}
566566
## Solution ##
567-
# Ajouter la nouvelles variable
567+
# Ajouter la nouvelle variable
568568
biometry <- smutate(biometry, bmi_cat = case_when(
569569
bmi < 18.5 ~ "underweight",
570570
bmi >= 18.5 & bmi < 25 ~ "normal weight",
571571
bmi>= 25 & bmi < 30 ~"overweight",
572572
bmi >= 30 ~ "obese"
573573
))
574-
# Afficher le début du tableau
574+
# Afficher les 5 premières lignes du tableau
575575
head(biometry)
576576
```
577577

578578
```{r case_when-check}
579579
grade_code("C'est correct. Vous êtes maintenant capable de réaliser des catégories avec `case_when()`.")
580580
```
581581

582-
Votre nouvelle variable contient des chaînes de caractères (du texte). Elle est de classe **character** dans R. Cependant, c'est une variable non numérique. On parle encore de variable qualitative ou variable "facteur" en statistiques. Si nous voulons qu'elle soit comprise comme tel dans R, nous pouvons la convertir en un objet **factor** avec la fonction `factor()`. Avec l'argument `levels =`, nous spécifions l'ordre des différents niveaux de notre variable. Nous utilisons la fonction `smutate()` comme précédemment.
582+
Votre nouvelle variable contient des chaînes de caractères (du texte). Elle est de classe **character** dans R. Cependant c'est une variable non numérique. On parle encore de variable qualitative ou variable "facteur" en statistiques. Si nous voulons qu'elle soit comprise comme tel dans R, nous pouvons la convertir en un objet **factor** avec la fonction `factor()`. Avec l'argument `levels =`, nous spécifions l'ordre des différents niveaux de notre variable. Nous utilisons la fonction `smutate()` comme précédemment.
583583

584584
Pour convertir en **factor** notre nouvelle variable `bmi_cat` dans `bio_100`, nous faisons donc :
585585

inst/tutorials/A02Lb_univariate/A02Lb_univariate.Rmd.inactivated renamed to inst/tutorials/A02Lb_univariate/A02Lb_univariate.Rmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ grade_code("Vous avez certainement compris le principe ici.")
281281

282282
## Biométrie d'oursins
283283

284-
Intéressez vous au jeu de données sur la biométrie d'oursin ci-dessous.
284+
Intéressez-vous au jeu de données sur la biométrie d'oursin ci-dessous.
285285

286286
```{r, echo=TRUE}
287287
# Importation du jeu de données
@@ -367,7 +367,7 @@ grade_code("Les \"aesthetics\" supplémentaires sont ajoutées à la formule à
367367

368368
Vous venez de terminer votre séance d'exercices qui récapitule la réalisation de plusieurs graphiques différents avec `chart()`.
369369

370-
Durant cette séance, vous avez appris à réaliser des graphiques de type :
370+
Dans ce tutoriel, vous avez appris à réaliser des graphiques de type :
371371

372372
- histogrammes
373373

0 commit comments

Comments
 (0)