Skip to content

Commit 0fcce39

Browse files
committed
Learnrs for module 1 ready (2025-2026)
1 parent ac049a2 commit 0fcce39

File tree

4 files changed

+68
-30
lines changed

4 files changed

+68
-30
lines changed

DESCRIPTION

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

NEWS.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# BioDataScience2 2025.1.0
2+
3+
- Learnrs **B00La_refresh**, **B01La_reg_lin** and **B01Lb_residuals** revised for 2025-2026.
4+
15
# BioDataScience2 2025.0.1
26

37
- Argument `envir=` added to `learnr_server()` to accomodate changes for compatibility with a Posit Connect server.

inst/tutorials/B01La_reg_lin/B01La_reg_lin.Rmd

Lines changed: 45 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ author: "Guyliann Engels & Philippe Grosjean"
44
description: "**SDD II Module 1** Réaliser une régression linéaire simple dans R."
55
tutorial:
66
id: "B01La_reg_lin"
7-
version: 2.4.0/9
7+
version: 3.0.0/9
88
output:
99
learnr::tutorial:
1010
progressive: true
@@ -15,6 +15,37 @@ runtime: shiny_prerendered
1515
```{r setup, include=FALSE}
1616
BioDataScience2::learnr_setup()
1717
SciViews::R("model", lang = "fr")
18+
# Required for RSConnect
19+
# SciViews::R
20+
library(rlang)
21+
library(data.table)
22+
library(ggplot2)
23+
library(tibble)
24+
library(tidyr)
25+
library(dplyr)
26+
library(dtplyr)
27+
library(broom)
28+
library(forcats)
29+
library(collapse)
30+
library(fs)
31+
library(data.trame)
32+
library(svFast)
33+
library(svTidy)
34+
library(svMisc)
35+
library(svBase)
36+
library(svFlow)
37+
library(data.io)
38+
library(chart)
39+
library(tabularise)
40+
library(SciViews)
41+
# ... more
42+
library(readxl)
43+
library(testthat)
44+
library(equatags)
45+
# 'model' and 'infer' packages
46+
library(modelit)
47+
library(distributional)
48+
library(inferit)
1849
1950
# crabs
2051
crabs <- read("crabs", package = "MASS")
@@ -45,7 +76,7 @@ BioDataScience2::learnr_server(input, output, session)
4576

4677
## Objectifs
4778

48-
Ce tutoriel sur la régression linéaire débute par un rappel sur la corrélation et les corrélogrammes. Cette matière est détaillée dans le [module 6 de science des données I](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2024/correlation.html). Les objectifs de ce tutoriel sont :
79+
Ce tutoriel sur la régression linéaire débute par un rappel sur la corrélation et les corrélogrammes. Cette matière est détaillée dans le [module 6 de science des données I](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2025/correlation.html). Les objectifs de ce tutoriel sont :
4980

5081
- Revoir la corrélation et les indices de Pearson et Spearman
5182

@@ -66,34 +97,34 @@ La fonction `skimr::skim()` vous permet d'obtenir de nombreuses informations sur
6697

6798
Réalisez une matrice de corrélation avec le coefficient de corrélation de Pearson sur ce jeu de données. N'utilisez que les variables pertinentes. Sélectionnez ces variables sur base de leur nom. Affichez un corrélogramme avec la partie supérieure uniquement (`upper`).
6899

69-
```{r corr1_h3, exercise=TRUE, exercise.lines=3}
100+
```{r corr1_h3, exercise=TRUE, exercise.lines=3, warning=FALSE}
70101
crabs_corr <- correlation(sselect(___, ___:___),
71102
use = ___, method = ___)
72103
plot(crabs_corr, ___ = ___)
73104
```
74105

75-
```{r corr1_h3-hint-1}
106+
```{r corr1_h3-hint-1, warning=FALSE}
76107
crabs_corr <- correlation(sselect(___, ___:___),
77108
use = "complete.obs", method = "pearson")
78109
plot(crabs_corr, type = ___)
79110
# Relisez le chapitre 12 du livre science des données 1 <https://wp.sciviewg/sdd-umons/>
80111
```
81112

82-
```{r corr1_h3-hint-2}
113+
```{r corr1_h3-hint-2, warning=FALSE}
83114
correlation(sselect(crabs, ___:___),
84115
use = "complete.obs", method = "pearson")
85116
plot(crabs_corr, type = "upper")
86117
#### ATTENTION: Hint suivant = solution !####
87118
```
88119

89-
```{r corr1_h3-solution}
120+
```{r corr1_h3-solution, warning=FALSE}
90121
## Solution ##
91122
crabs_corr <- correlation(sselect(crabs, front:depth),
92123
use = "complete.obs", method = "pearson")
93124
plot(crabs_corr, type = "upper")
94125
```
95126

96-
```{r corr1_h3-check}
127+
```{r corr1_h3-check, warning=FALSE}
97128
grade_code("Vous vous rappelez comment réaliser une matrice de corrélation et un corrélogramme. Présenter une matrice de corrélation sous la forme d'un graphique, c'est quand même plus convivial.")
98129
```
99130

@@ -114,8 +145,6 @@ question("Quelles sont les combinaisons de variables les plus corrélées ? (sé
114145

115146
*L'analyse de la corrélation est utile comme première approche afin de déterminer si une régression linéaire est intéressante avec nos données.*
116147

117-
<!-- PhG: je ne comprend pas du tout pourquoi on fait de la corrélation sur crabs, et puis on passe à la régression sur bull. C'est décousu et cela n'a aucun sens. Comment les étudiants penvent comprendre la logique d'une analyse autour d'une régression linéaire sur base de problèmes aussi peu construits !!!- -->
118-
119148
## Taureaux reproducteurs
120149

121150
Pour aborder la régression linéaire, nous revenons sur le jeu de données `bull` déjà utilisé lors du learnr de révision et issu de données de l'association wallonne de l'élevage. Ce jeu de données `bull` contient les variables suivantes :
@@ -124,7 +153,7 @@ Pour aborder la régression linéaire, nous revenons sur le jeu de données `bul
124153

125154
Votre objectif sera de réaliser une régression linéaire de la masse des taureaux (mesurée en kg) en fonction de leur âge (en mois).
126155

127-
#### Description des données
156+
### Description des données
128157

129158
Toute analyse commence par la description des données, surtout si elles sont nouvelles pour vous ! Commencez donc en réalisant un graphique en nuage de point de la masse en fonction de l'âge des taureaux.
130159

@@ -160,20 +189,19 @@ skimr::skim(bull)
160189

161190
Le tableau contient deux variables qualitatives et trois variables quantitatives avec `r nrow(bull)` taureaux qui ont été mesurés et il n'y a pas de valeurs manquantes. La quantité de données disponibles est acceptable pour une régression linéaire. Les distributions de l'âge et de la masse montrent qu'il y a plus de données pour les faibles valeurs, la distribution dans la plage d'âges étudiée -entre 13 et 40 mois- n'est pas homogène, mais sans que cela ne soit dramatique (cela se voit aussi sur le graphique, plus haut, avec comparativement un peu moins de données pour des âges de 30 à 40 mois).
162191

163-
```{r, echo=TRUE}
192+
```{r, echo=TRUE, warning=FALSE}
164193
correlation(num_vars(bull)) |>
165194
tabularise()
166195
```
167196

168197
Toutes les corrélations sont positives et élevées. La corrélation entre la masse et l'âge est la plus forte.
169198

170-
*Souvenez-vous que `tabularise()` est une nouvelle fonction qui permet de réaliser un tableau propre des résultats (nous l'avons découvert dans le learnr précédent).*
171199

172-
#### Modèle de la masse des taureaux en fonction de leur âge
200+
### Modèle de la masse des taureaux en fonction de leur âge
173201

174202
Complétez à présent les instructions ci-dessous afin de réaliser une régression linéaire de la masse en fonction de l'âge de nos taureaux.
175203

176-
```{r bull_lm_h2, exercise=TRUE, exercise.lines=7}
204+
```{r bull_lm_h2, exercise=TRUE, exercise.lines=7, warning=FALSE}
177205
bull_lm <- lm(data = ___, ___ ~ ___)
178206
# Tableau résumé de la régression linéaire
179207
summary(___) |>
@@ -182,7 +210,7 @@ summary(___) |>
182210
___(___)
183211
```
184212

185-
```{r bull_lm_h2-hint-1}
213+
```{r bull_lm_h2-hint-1, warning=FALSE}
186214
bull_lm <- lm(data = ___, ___ ~ age)
187215
# Tableau résumé de la régression linéaire
188216
summary(___) |>
@@ -193,7 +221,7 @@ chart(___)
193221
#### ATTENTION: Hint suivant = solution !####
194222
```
195223

196-
```{r bull_lm_h2-solution}
224+
```{r bull_lm_h2-solution, warning=FALSE}
197225
## Solution ##
198226
bull_lm <- lm(data = bull, weight ~ age)
199227
# Tableau résumé de la régression linéaire
@@ -203,7 +231,7 @@ summary(bull_lm) |>
203231
chart(bull_lm)
204232
```
205233

206-
```{r bull_lm_h2-check}
234+
```{r bull_lm_h2-check, warning=FALSE}
207235
208236
grade_code("Vous avez réalisé votre première régression linéaire. Analysez le tableau et le graphique issus de ce modèle et répondez aux questions qui suivent.")
209237
```

inst/tutorials/B01Lb_residuals/B01Lb_residuals.Rmd

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: "**SDD II Module 1** Analyser les résidus d'une régression linéa
55
bibliography: references.bib
66
tutorial:
77
id: "B01Lb_residuals"
8-
version: 2.1.0/6
8+
version: 3.0.0/6
99
output:
1010
learnr::tutorial:
1111
progressive: true
@@ -29,18 +29,24 @@ library(broom)
2929
library(forcats)
3030
library(collapse)
3131
library(fs)
32+
library(data.trame)
33+
library(svFast)
34+
library(svTidy)
3235
library(svMisc)
3336
library(svBase)
3437
library(svFlow)
3538
library(data.io)
3639
library(chart)
3740
library(tabularise)
3841
library(SciViews)
39-
# model
40-
library(modelit)
4142
# ... more
43+
library(readxl)
4244
library(testthat)
4345
library(equatags)
46+
# 'model' and 'infer' packages
47+
library(modelit)
48+
library(distributional)
49+
library(inferit)
4450
4551
rice <- read("rice", package = "BioDataScience2")
4652
rice <- labelise(rice,
@@ -118,7 +124,7 @@ grade_code("Ce graphique en nuage de points est un pré-requis indispensable pou
118124

119125
Nous pouvons continuer la description des données avec une matrice de corrélation de Pearson :
120126

121-
```{r, echo=TRUE}
127+
```{r, echo=TRUE, warning=FALSE}
122128
correlation(num_vars(rice), method = "pearson") |>
123129
tabularise()
124130
```
@@ -135,7 +141,7 @@ Les distributions des deux variables sont univariées et les moyennes assez proc
135141

136142
Réalisez à présent la régression linéaire demandée de la variable `area` en fonction de la variable `major_axis_length`du tableau `rice`.
137143

138-
```{r rice_lm_h2, exercise=TRUE}
144+
```{r rice_lm_h2, exercise=TRUE, warning=FALSE}
139145
rice_lm <- lm(data = ___, ___ ~ ___)
140146
# Résumé de la régression linéaire
141147
summary(___) |>
@@ -144,7 +150,7 @@ summary(___) |>
144150
chart(___)
145151
```
146152

147-
```{r rice_lm_h2-hint-1}
153+
```{r rice_lm_h2-hint-1, warning=FALSE}
148154
rice_lm <- lm(data = rice, ___ ~ ___)
149155
# Résumé de la régression linéaire
150156
summary(rice_lm) |>
@@ -155,7 +161,7 @@ chart(rice_lm)
155161
#### ATTENTION: Hint suivant = solution !####
156162
```
157163

158-
```{r rice_lm_h2-solution}
164+
```{r rice_lm_h2-solution, warning=FALSE}
159165
## Solution ##
160166
rice_lm <- lm(data = rice, area ~ major_axis_length)
161167
# Résumé de la régression linéaire
@@ -165,7 +171,7 @@ summary(rice_lm) |>
165171
chart(rice_lm)
166172
```
167173

168-
```{r rice_lm_h2-check}
174+
```{r rice_lm_h2-check, warning=FALSE}
169175
grade_code("Vous avez calculé votre objet `lm_rice`. Vous l'avez résumé et représenté graphiquement. Vous avez du matériel à examiner pour déterminer si cette régression tient la route. Avec un R^2 de 0.815, la régression est bonne, mais pouvez-vous repérer des éléments importants dans le tableau via le Quiz ci-dessous ?")
170176
```
171177

@@ -200,13 +206,13 @@ quiz(
200206
)
201207
```
202208

203-
#### Paramétrisation du modèle
209+
### Paramétrisation du modèle
204210

205211
Une fois que vous avez les estimateurs des différents paramètres de votre modèle, vous pouvez placer ces valeurs dans son équation. Cette étape importante se nomme la **paramétrisation** du modèle.
206212

207-
##### Comment faire en pratique ?
213+
#### Comment faire en pratique ?
208214

209-
Dans la SciViews Box 2024, vous avez des outils pour vous y aider. La fonction `eq__()` extrait l'équation du modèle et son argument `use_coefs = TRUE` indique de remplacer les paramètres par les valeurs estimées. Ainsi, pour obtenir cette équation, vous pouvez écrire un chunk en ligne `` `r eq__(rice_lm, use_coefs = TRUE)` `` à l'intérieur de balises Markdown d'équation dite "display" (équation sur sa propre ligne, hors texte, par opposition à l'équation "inline", directement dans le texte). Cela s'écrit comme suit :
215+
Avec SciViews-R, vous avez des outils pour vous y aider. La fonction `eq__()` extrait l'équation du modèle et son argument `use_coefs = TRUE` indique de remplacer les paramètres par les valeurs estimées. Ainsi, pour obtenir cette équation, vous pouvez écrire un chunk en ligne `` `r eq__(rice_lm, use_coefs = TRUE)` `` à l'intérieur de balises Markdown d'équation dite "display" (équation sur sa propre ligne, hors texte, par opposition à l'équation "inline", directement dans le texte). Cela s'écrit comme suit :
210216

211217
- à une nouvelle ligne, vous entrez deux dollars `$$`, c'est la balise Markdown d'entrée d'une équation "display"
212218
- à la ligne suivante, vous écrivez le chunk en ligne `` `r eq__(...)` `` qui viendra placer le contenu de l'équation calculé par R lors du rendu du document
@@ -220,7 +226,7 @@ $$
220226

221227
**Astuce:** vous contrôlez le nombre de chiffres derrière la virgule pour chaque estimateur à l'aide de l'argument supplémentaire `coef_digits =` qui accepte un nombre entier (même nombre de chiffres derrière la virgule pour tous les estimateurs), ou un vecteur d'entiers pour varier la précision de chaque estimateur successif. Il est important de limiter les valeurs à un nombre de chiffres **significatifs** par rapport au calcul qui est réalisé. Ne jamais conserver un grand nombre de décimales inutiles dans les équations ! L'équation ci-dessus a été obtenue à l'aide de `` `r eq__(rice_lm, use_coefs = TRUE, coef_digits = c(0, 1))` ``.
222228

223-
##### Compréhension de la paramétrisation du modèle
229+
#### Compréhension de la paramétrisation du modèle
224230

225231
Maintenant que les aspects techniques sont expliqués, concentrez-vous sur le contenu de cette dernière équation et sa signification.
226232

0 commit comments

Comments
 (0)