Skip to content

Commit 2e142f6

Browse files
committed
Learnrs modules 2 & 3
1 parent 92f6697 commit 2e142f6

File tree

5 files changed

+149
-54
lines changed

5 files changed

+149
-54
lines changed

inst/tutorials/B01La_reg_lin/B01La_reg_lin.Rmd

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ Complétez à présent les instructions ci-dessous afin de réaliser une régres
210210
```{r bull_lm_h2, exercise=TRUE, exercise.lines=7, warning=FALSE}
211211
bull_lm <- lm(data = ___, ___ ~ ___)
212212
# Tableau résumé de la régression linéaire
213-
summary(___) |>
213+
summary_(___) |>
214214
tabularise()
215215
# Graphique de la régression
216216
___(___)
@@ -219,7 +219,7 @@ ___(___)
219219
```{r bull_lm_h2-hint-1, warning=FALSE}
220220
bull_lm <- lm(data = ___, ___ ~ age)
221221
# Tableau résumé de la régression linéaire
222-
summary(___) |>
222+
summary_(___) |>
223223
tabularise()
224224
# Graphique de la régression
225225
chart(___)
@@ -231,7 +231,7 @@ chart(___)
231231
## Solution ##
232232
bull_lm <- lm(data = bull, weight ~ age)
233233
# Tableau résumé de la régression linéaire
234-
summary(bull_lm) |>
234+
summary_(bull_lm) |>
235235
tabularise()
236236
# Graphique de la régression
237237
chart(bull_lm)

inst/tutorials/B01Lb_residuals/B01Lb_residuals.Rmd

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ Réalisez à présent la régression linéaire demandée de la variable `area` e
150150
```{r rice_lm_h2, exercise=TRUE, warning=FALSE}
151151
rice_lm <- lm(data = ___, ___ ~ ___)
152152
# Résumé de la régression linéaire
153-
summary(___) |>
153+
summary_(___) |>
154154
tabularise()
155155
# Graphique de la régression
156156
chart(___)
@@ -159,7 +159,7 @@ chart(___)
159159
```{r rice_lm_h2-hint-1, warning=FALSE}
160160
rice_lm <- lm(data = rice, ___ ~ ___)
161161
# Résumé de la régression linéaire
162-
summary(rice_lm) |>
162+
summary_(rice_lm) |>
163163
tabularise()
164164
# Graphique de la régression
165165
chart(rice_lm)
@@ -171,7 +171,7 @@ chart(rice_lm)
171171
## Solution ##
172172
rice_lm <- lm(data = rice, area ~ major_axis_length)
173173
# Résumé de la régression linéaire
174-
summary(rice_lm) |>
174+
summary_(rice_lm) |>
175175
tabularise()
176176
# Graphique de la régression
177177
chart(rice_lm)

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

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,38 @@ 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)
49+
library(faraway)
1850
1951
# fat dataset
2052
fat <- read("fat", package = "faraway")
@@ -95,18 +127,18 @@ chart(data = fat, density ~ abdom) +
95127
Ajustez maintenant une régression linéaire simple de `density` en fonction de `abdom` du jeu de données `fat`. Vous placerez le résultat dans `fat_lm1` et vous imprimerez le résumé.
96128

97129
```{r reglin_h2, exercise=TRUE}
98-
summary(fat_lm1 <- lm(data = ___, ___ ~ ___))
130+
summary_(fat_lm1 <- lm(data = ___, ___ ~ ___))
99131
```
100132

101133
```{r reglin_h2-hint}
102-
summary(fat_lm1 <- lm(data = DF, FORMULA))
134+
summary_(fat_lm1 <- lm(data = DF, FORMULA))
103135
104136
#### ATTENTION: Hint suivant = solution !####
105137
```
106138

107139
```{r reglin_h2-solution}
108140
## Solution ##
109-
summary(fat_lm1 <- lm(data = fat, density ~ abdom))
141+
summary_(fat_lm1 <- lm(data = fat, density ~ abdom))
110142
```
111143

112144
```{r reglin_h2-check}
@@ -177,18 +209,18 @@ La corrélation linéaire entre `density` et `abdom` est bonne. Elle l'est moins
177209

178210
```{r regmulti_h2, exercise=TRUE}
179211
# régression multiple
180-
summary(fat_lm2 <- lm(data = ___, ___ ~ ___))
212+
summary_(fat_lm2 <- lm(data = ___, ___ ~ ___))
181213
```
182214

183215
```{r regmulti_h2-hint}
184-
summary(fat_lm2 <- lm(data = DF, Y ~ VAR1 + VAR2))
216+
summary_(fat_lm2 <- lm(data = DF, Y ~ VAR1 + VAR2))
185217
186218
#### ATTENTION: Hint suivant = solution !####
187219
```
188220

189221
```{r regmulti_h2-solution}
190222
## Solution ##
191-
summary(fat_lm2 <- lm(data = fat, density ~ abdom + thigh))
223+
summary_(fat_lm2 <- lm(data = fat, density ~ abdom + thigh))
192224
```
193225

194226
```{r regmulti_h2-check}
@@ -243,7 +275,7 @@ AIC(fat_lm1, fat_lm2)
243275
Dans les deux cas, le modèle multiple se démarque de justesse. En effet, la valeur *p* de l'ANOVA étant légèrement supérieure à 1%, elle est moyenne, mais reste inférieure au seuil alpha de 5% choisi. Nous rejetons donc l'hypothèse nulle que le terme supplémentaire n'apporte rien. D'autre part, le critère d'Akaike est très, très légèrement plus faible en faveur du modèle multiple. C'est ténu et le gain en part de variance expliquée (*R*^2^) l'est aussi puisque l'on ne gagne même pas un pour cent. Une présentation "soignée" de ca modèle avec `tabularise()` donne :
244276

245277
```{r, echo=TRUE, warning=FALSE}
246-
summary(fat_lm2) |> tabularise()
278+
summary_(fat_lm2) |> tabularise()
247279
```
248280

249281
Le modèle paramétré est extrait ici en utilisant ``` `r eq__(fat_lm2, use_coefs = TRUE, coef_digits = c(2, 5, 6))` ``` dans une balise équation Markdown commençant et terminant par deux signes dollars (`$$...$$`). Ici, l'ajustement manuel du nombre de chiffres significatifs pour les coefficients estimés est *obligatoire* :
@@ -356,13 +388,13 @@ Ici, nous sommes en présence de corrélations très faibles entre les variables
356388
```{r regmulti2_h2, exercise=TRUE}
357389
map_lm <- lm(data = ___, ___ ~ ___)
358390
# Résumé du modèle
359-
summary(___)
391+
summary_(___)
360392
```
361393

362394
```{r regmulti2_h2-hint-1}
363395
map_lm <- lm(data = ___, ___ ~ ___)
364396
# Résumé du modèle
365-
summary(map_lm)
397+
summary_(map_lm)
366398
367399
#### ATTENTION: Hint suivant = solution !####
368400
```
@@ -371,7 +403,7 @@ summary(map_lm)
371403
## Solution ##
372404
map_lm <- lm(data = diabetes, map ~ age + chol + weight)
373405
# Résumé du modèle
374-
summary(map_lm)
406+
summary_(map_lm)
375407
```
376408

377409
```{r regmulti2_h2-check}
@@ -408,7 +440,7 @@ quiz(
408440
Dans le cas où ces résultats devraient être présentés dans un rapport soigné, vous sortirez évidemment la version `tabularise()` de ce résumé :
409441

410442
```{r, echo=TRUE, warning=FALSE}
411-
summary(map_lm) |> tabularise()
443+
summary_(map_lm) |> tabularise()
412444
```
413445

414446
Vous n'oubliez évidemment pas de paramétrer votre modèle en utilisant dans une balise Markdown d'équation encadrée par deux signes dollars (`\$\$`), le chunk en ligne ``` `r eq__(map_lm, use_coefs = TRUE)` ```, comme ci-dessous (vous pouvez aussi ajuster manuellement les chiffres significations avec `coef_digits = c(w, x, y, z)``w`, `x`, `y`, `z` sont des entiers indiquant le nombre de chiffres significatifs désirés pour les quatre paramètres, ici `c(1, 3, 4, 3)`) :

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

Lines changed: 46 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,38 @@ 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)
49+
library(UsingR)
1850
1951
# datasets
2052
reddrum <- read("reddrum", package = "UsingR")
@@ -87,15 +119,15 @@ La croissance de ces poissons est particulière. Les juvéniles ont une croissan
87119
```{r reglin_h2, exercise=TRUE}
88120
reddrum_lm1 <- lm(data = ___, ___ ~ ___)
89121
# Résumé du modèle
90-
summary(___)
122+
summary_(___)
91123
# Graphique du modèle
92124
chart(___)
93125
```
94126

95127
```{r reglin_h2-hint-1}
96128
reddrum_lm1 <- lm(data = ___, ___ ~ ___)
97129
# Résumé du modèle
98-
summary(reddrum_lm1)
130+
summary_(reddrum_lm1)
99131
# Graphique du modèle
100132
chart(reddrum_lm1)
101133
@@ -106,7 +138,7 @@ chart(reddrum_lm1)
106138
## Solution ##
107139
reddrum_lm1 <- lm(data = reddrum, length ~ age)
108140
# Résumé du modèle
109-
summary(reddrum_lm1)
141+
summary_(reddrum_lm1)
110142
# Graphique du modèle
111143
chart(reddrum_lm1)
112144
```
@@ -126,15 +158,15 @@ Réalisez ensuite une **régression linéaire polynomiale d'ordre deux** avec le
126158
```{r regpoly_h2, exercise=TRUE}
127159
reddrum_lm2 <- lm(data = ___, ___ ~ ___ + ___(___))
128160
# Résumé du modèle
129-
summary(___)
161+
summary_(___)
130162
# Graphique du modèle
131163
chart(___)
132164
```
133165

134166
```{r regpoly_h2-hint-1}
135167
reddrum_lm2 <- lm(data = ___, ___ ~ ___ + I(___))
136168
# résumé du modèle
137-
summary(reddrum_lm2)
169+
summary_(reddrum_lm2)
138170
# Graphique du modèle
139171
chart(reddrum_lm2)
140172
@@ -145,7 +177,7 @@ chart(reddrum_lm2)
145177
## Solution ##
146178
reddrum_lm2 <- lm(data = reddrum, length ~ age + I(age^2))
147179
# résumé du modèle
148-
summary(reddrum_lm2)
180+
summary_(reddrum_lm2)
149181
# Graphique du modèle
150182
chart(reddrum_lm2)
151183
```
@@ -165,15 +197,15 @@ Réalisez à présent une **régression linéaire polynomiale d'ordre trois** av
165197
```{r regpoly3_h2, exercise=TRUE}
166198
reddrum_lm3 <- lm(data = ___, ___ ~ ___ + ___(___) + ___(___))
167199
# Résumé du modèle
168-
summary(___)
200+
summary_(___)
169201
# Graphique du modèle
170202
chart(___)
171203
```
172204

173205
```{r regpoly3_h2-hint-1}
174206
reddrum_lm3 <- lm(data = ___, ___ ~ ___ + I(___) + ___(___))
175207
# résumé du modèle
176-
summary(reddrum_lm3)
208+
summary_(reddrum_lm3)
177209
# Graphique du modèle
178210
chart(reddrum_lm3)
179211
@@ -184,7 +216,7 @@ chart(reddrum_lm3)
184216
## Solution ##
185217
reddrum_lm3 <- lm(data = reddrum, length ~ age + I(age^2) + I(age^3))
186218
# résumé du modèle
187-
summary(reddrum_lm3)
219+
summary_(reddrum_lm3)
188220
# Graphique du modèle
189221
chart(reddrum_lm3)
190222
```
@@ -211,7 +243,7 @@ quiz(
211243
answer(sprintf("%.4f", lm_poly_coef$statistic[3])),
212244
answer(sprintf("%.4f", lm_poly_param$r.squared[1])),
213245
allow_retry = TRUE, random_answer_order = TRUE
214-
),
246+
),
215247
question(text = "Quelle est la part de la variance exprimée par ce modèle ?",
216248
answer(sprintf("%.3f", lm_poly_coef$estimate[1])),
217249
answer(sprintf("%.3f", lm_poly_coef$estimate[2])),
@@ -221,7 +253,7 @@ quiz(
221253
answer(sprintf("%.3f", lm_poly_coef$statistic[2])),
222254
answer(sprintf("%.3f", lm_poly_param$adj.r.squared[1]), correct = TRUE),
223255
allow_retry = TRUE, random_answer_order = TRUE
224-
)
256+
)
225257
)
226258
```
227259

@@ -232,7 +264,7 @@ Nous avons pu observer que notre modèle s'ajuste de mieux en mieux en augmentan
232264
```{r, echo=TRUE}
233265
reddrum_lm6 <- lm(data = reddrum, length ~ age + I(age^2) + I(age^3) +
234266
I(age^4) + I(age^5) + I(age^6))
235-
summary(reddrum_lm6)
267+
summary_(reddrum_lm6)
236268
chart(reddrum_lm6)
237269
```
238270

@@ -247,7 +279,7 @@ Voici à présent le résultat pour un polynôme d'ordre sept.
247279
```{r, echo=TRUE}
248280
reddrum_lm7 <- lm(data = reddrum, length ~ age + I(age^2) + I(age^3) +
249281
I(age^4) + I(age^5) + I(age^6) + I(age^7))
250-
summary(reddrum_lm7)
282+
summary_(reddrum_lm7)
251283
chart(reddrum_lm7)
252284
```
253285

@@ -310,7 +342,7 @@ Nous pouvons observer un gain de performance des modèles jusqu'au modèle polyn
310342
Pour une présentation propre du modèle retenu, nous utilisons `tabularise()` :
311343

312344
```{r, echo=TRUE, warning=FALSE}
313-
summary(reddrum_lm6) |> tabularise()
345+
summary_(reddrum_lm6) |> tabularise()
314346
```
315347

316348
Enfin, il est indispensable de paramétrer le modèle. Nous laissons R le faire grâce à la fonction `eq__()` que nous avons déjà employée plusieurs fois :

0 commit comments

Comments
 (0)