Skip to content

Commit cf0f0cc

Browse files
committed
Revision of learnrs tutorials for module 8
1 parent 8ce40da commit cf0f0cc

File tree

4 files changed

+45
-29
lines changed

4 files changed

+45
-29
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: 2022.4.1
2+
Version: 2022.5.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: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# BioDataScience 2022.5.0
2+
3+
- Revision of learnrs tutorials for module 8.
4+
15
# BioDataScience 2022.4.1
26

37
- Typo correction in **A07Lb_distri**.

inst/tutorials/A08La_chi2/A08La_chi2.Rmd

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -30,39 +30,40 @@ BioDataScience1::learnr_server(input, output, session)
3030

3131
## Objectifs
3232

33-
La loi de distribution du $\chi^2$ représente de manière théorique la probabilité de distribution de fréquences entre les niveaux d'une ou plusieurs variables qualitatives. Un test d'hypothèse $\chi^2$ en est dérivé pour comparer un échantillon à des valeurs théoriques sous H~0~. Vos objectifs sont ici :
33+
La loi de distribution du $\chi^2$ représente de manière théorique la probabilité de distribution de fréquences entre les niveaux d'une ou plusieurs variables qualitatives. Un test d'hypothèse $\chi^2$ en est dérivé pour comparer un échantillon à des valeurs théoriques sous H~0~. Vos objectifs sont ici de :
3434

3535
- Pouvoir calculer des quantiles ou des probabilités relatifs à la distribution du $\chi^2$
3636

3737
- Appréhender le test d'hypothèse du $\chi^2$ univarié
3838

39-
`r` Vous devez avoir assimilé la matière du [module 8](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2021/chi2.html) du cours, en particulier la [section 8.2](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2021/test-dhypoth%25C3%25A8se.html), et vous devez avoir compris les différentes notions vue au [module 7](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2021/proba.html) relatives aux calculs de probabilités et aux lois de distribution statistiques. Ce learnr vous sert à auto-évaluer vos acquis relatifs à la distribution $\chi^2$ et au test $\chi^2$ univarié.
39+
Vous devez avoir assimilé la matière du [module 8](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2022/chi2.html) du cours, en particulier la [section 8.2](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2022/test-dhypoth%25C3%25A8se.html), et vous devez avoir compris les différentes notions vue au [module 7](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2022/proba.html) relatives au calcul de probabilités et aux lois de distribution statistiques. Ce learnr vous sert à auto-évaluer vos acquis relatifs à la distribution $\chi^2$ et au test $\chi^2$ univarié.
4040

4141
## Distribution du $\chi^2$
4242

43-
Représentez graphiquement la densité de probabilité de la distribution du $\chi^2$ à trois degrés de liberté. Utilisez la fonction approrié dist\_\*()
43+
Représentez graphiquement la densité de probabilité de la distribution du $\chi^2$ à trois degrés de liberté. Utilisez la fonction approriée `dist_*()`.
4444

45-
```{r chi_dist_h1, exercise=TRUE, exercise.lines= 4}
45+
```{r chi_dist_h1, exercise=TRUE, exercise.lines=4}
4646
# Distribution de chi2 avec 3 degrés de liberté
4747
chi <- ___(df = ___)
48-
# Graphique de la distribution.
48+
# Graphique de la distribution
4949
___(chi)
5050
```
5151

5252
```{r chi_dist_h1-solution}
53+
## Solution ##
5354
# Distribution de chi2 avec 3 degrés de liberté
5455
chi <- dist_chisq(df = 3)
55-
# Graphique de la distribution.
56+
# Graphique de la distribution
5657
chart(chi)
5758
```
5859

5960
```{r chi_dist_h1-check}
60-
grade_code("Avec les fonctions dist_*, il est simple de créer un objet associé à la distribution souhaitée. Pour la distribution du Chi^2, il vous suffit d'indiquer les degrés de libertés de la distribution souhaitée. Il s'agit d'une loi de distribution très asymétrique et qui commence à {0, 0}. Notez que plus le quantile est grand, plus la densité de probabilité est faible.")
61+
grade_code("Avec les fonctions `dist_*()`, il est simple de créer un objet représentant la distribution souhaitée. Pour la distribution du Chi^2, il vous suffit d'indiquer les degrés de liberté de la distribution. Il s'agit d'une loi de distribution très asymétrique et qui commence à {0, 0}. Notez que plus le quantile est grand, plus la densité de probabilité est faible.")
6162
```
6263

6364
Sur base de cette distribution à trois degrés de liberté, calculez la probabilité d'une valeur de $\chi^2$ supérieure au quantile 15.
6465

65-
💬 **Ce code correspond au snippet `.icproba`.**
66+
<!-- 💬 **Ce code correspond au snippet `.icproba`.** -->
6667

6768
```{r chi1_h2, exercise=TRUE}
6869
pchisq(___, df = ___, lower.tail = ___)
@@ -75,6 +76,7 @@ pchisq(15, df = ___, lower.tail = ___)
7576
```
7677

7778
```{r chi1_h2-solution}
79+
## Solution ##
7880
pchisq(15, df = 3, lower.tail = FALSE)
7981
```
8082

@@ -84,7 +86,7 @@ grade_code("La fonction `pchisq()` calcule une probabilité à partir d'un quant
8486

8587
Toujours sur base de cette distribution à trois degrés de liberté, calculez le quantile qui délimite l'aire à droite dont la probabilité est de 5%.
8688

87-
💬 **Ce code correspond au snippet `.icquant`.**
89+
<!-- 💬 **Ce code correspond au snippet `.icquant`.** -->
8890

8991
```{r chi2_h2, exercise=TRUE}
9092
qchisq(___, df = ___, lower.tail = ___)
@@ -97,6 +99,7 @@ qchisq(0.05, df = ___, lower.tail = ___)
9799
```
98100

99101
```{r chi2_h2-solution}
102+
## Solution ##
100103
qchisq(0.05, df = 3, lower.tail = FALSE)
101104
```
102105

@@ -131,7 +134,7 @@ question("Quelles sont les fréquences théoriques sous l'hypothèse nulle que l
131134
answer("pommes = 17 | bananes = 18 | oranges = 10"),
132135
allow_retry = TRUE, random_answer_order = TRUE,
133136
incorrect = "Recommencez afin de trouver la bonne réponse",
134-
correct = "C'est correct ! Les fréquences théoriques sont l'hypothèse qu'il n'y a pas de différences sont les probabilités multipliées par l'effectif total.")
137+
correct = "C'est correct ! Ce sont les fréquences théoriques sont l'hypothèse qu'il n'y a pas de différences sont les probabilités multipliées par l'effectif total.")
135138
```
136139

137140
Calculez à la main la valeur du $\chi^2$ observé à l'aide de la formule (aidez-vous d'une calculette) :
@@ -176,9 +179,9 @@ abline(h = 0, col = "gray") # Baseline
176179
text(.df, .d(.df), .label, pos = 4, col = .col) # Label at right
177180
```
178181

179-
Déterminez la probabilité qu'un quantile soit supérieur ou égale à $\chi^2_{obs}$ = 7.601.
182+
Déterminez la probabilité qu'un quantile soit supérieur ou égal à $\chi^2_{obs}$ = 7.601.
180183

181-
💬 **Ce code correspond au snippet `.icproba`.**
184+
<!-- 💬 **Ce code correspond au snippet `.icproba`.** -->
182185

183186
```{r chi3_h2, exercise=TRUE}
184187
pchisq(___, df = ___, lower.tail = ___)
@@ -189,11 +192,12 @@ pchisq(___, df = 2, lower.tail = FALSE)
189192
```
190193

191194
```{r chi3_h2-solution}
195+
## Solution ##
192196
pchisq(7.601, df = 2, lower.tail = FALSE)
193197
```
194198

195199
```{r chi3_h2-check}
196-
grade_code("Cette probabilité est appelée valeur p.")
200+
grade_code("Cette probabilité est appelée valeur p du test d'hypothèse.")
197201
```
198202

199203
Pour tirer une conclusion avec le **test d'hypothèse** du $\chi^2$ univarié, vous comparez la valeur *p* ainsi obtenue au seuil $\alpha$ que vous avez fixé préalablement (choix réalisé *avant* de faire le test pour ne pas être influencé par le résultat). Souvent, on prend $\alpha$ = 5% en biologie. Les hypothèse (H~0~ = hypothèse nulle et H~1~ ou H~A~ = hypothèse alternative) du test $\chi^2$ univarié sont :
@@ -214,14 +218,14 @@ question("Que décidez-vous au seuil alpha de 5% ?",
214218
answer(sprintf("Non rejet de $H_{0}$")),
215219
allow_retry = TRUE, random_answer_order = TRUE,
216220
incorrect = "Recommencez afin de trouver la bonne réponse",
217-
correct = "C'est correct ! Nous rejetons H0. Le chimpanzé préfère donc certains fruits (banane) à d'autres (orange). Les préférences sont déduites de la comparaison des fréquences observées par rapport aux fréquences théoriques sous H0")
221+
correct = "C'est correct ! Nous rejetons H0. Le chimpanzé préfère donc certains fruits (banane) à d'autres (orange). Les préférences sont déduites de la comparaison des fréquences observées par rapport aux fréquences théoriques sous H~0~")
218222
```
219223

220224
### Test $\chi^2$ avec `chisq.test()`
221225

222-
Pour réaliser votre test $\chi^2$, vous ne devez heureusement pas passer par tous ces calculs à la main. En effet, R mets à votre disposition une fonction qui le fait toute seule : `chisq.test()`. Utilisez maintenant cette fonction pour faire le même calcul sur l'expérience de préférence alimentaire des chimpanzés.
226+
Pour réaliser votre test $\chi^2$, vous ne devez heureusement pas passer par tous ces calculs à la main. En effet, R mets à votre disposition une fonction qui le fait pour vous : `chisq.test()`. Utilisez maintenant cette fonction pour faire le même calcul sur l'expérience de préférence alimentaire des chimpanzés.
223227

224-
💬 **Ce code correspond (pour la dernière ligne) au snippet `.hcchi2uni`** [`.hc` = `h`ypothesis tests: `c`ontingency].
228+
<!-- 💬 **Ce code correspond (pour la dernière ligne) au snippet `.hcchi2uni`** [`.hc` = `h`ypothesis tests: `c`ontingency]. -->
225229

226230
```{r chi_test_h3, exercise=TRUE}
227231
# Création du jeu de données
@@ -247,6 +251,7 @@ chisq.test(___, p = c(Pomme = 1/3, Banane = ___, Orange = ___), rescale.p = FALS
247251
```
248252

249253
```{r chi_test_h3-solution}
254+
## Solution ##
250255
# Création du jeu de données
251256
chimp <- dtx(Pomme = 16, Banane = 22, Orange = 7)
252257
# Test Chi^2 univarié
@@ -290,14 +295,15 @@ chisq.test(___, p = c(Pomme = 1/3, Banane = ___, Orange = ___), rescale.p = FALS
290295
```
291296

292297
```{r chi_test2_h3-solution}
298+
## Solution ##
293299
# Création du jeu de données
294300
chimp2 <- dtx(Pomme = 160, Banane = 220, Orange = 70)
295301
# Test Chi^2 univarié
296302
chisq.test(chimp2, p = c(Pomme = 1/3, Banane = 1/3, Orange = 1/3), rescale.p = FALSE)
297303
```
298304

299305
```{r chi_test2_h3-check}
300-
grade_code("Le valeur du Chi^2^ obs est beaucoup plus grande ici et la valeur p est plus petite.")
306+
grade_code("Le valeur du chi^2^ obs est beaucoup plus grande ici et la valeur p est plus petite.")
301307
```
302308

303309
Plus l'échantillon a une taille *n* importante, plus nous avons des données à disposition et nous pourrons donc rejeter H~0~ si elle est fausse *même si l'écart entre les* $a_i$ et les $\alpha_i$ est très petit. Par contre, si cet écart est très grand, un petit nombre d'observations suffira pour rejeter H~0~. A cause de cet effet de *n*, nous ne dirons *jamais* que nous **acceptons** H~1~, mais nous dirons que nous **ne rejetons pas H~0~**. Car, dans cette situation, deux cas sont possibles :
@@ -309,7 +315,7 @@ A l'inverse, lorsque l'on travaille avec une taille d'échantillon *n* extrêmem
309315

310316
## Conclusion
311317

312-
La distribution du $\chi^2$ et son test d'hypothèse univarié n'ayant plus de secrets pour vous, nous aborderons une autre variante : le test $\chi^2$ d'indépendance dans le prochain learnr.
318+
Ayant maintenant compris la logique et l'utilisation de la distribution du $\chi^2$ et son test d'hypothèse univarié, nous aborderons dans le prochain learnr une autre variante : le test $\chi^2$ d'indépendance.
313319

314320
```{r comm_noscore, echo=FALSE}
315321
question_text(

inst/tutorials/A08Lb_chi2b/A08Lb_chi2b.Rmd

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ runtime: shiny_prerendered
1414

1515
```{r setup, include=FALSE}
1616
BioDataScience1::learnr_setup()
17-
SciViews::R(infer)
17+
SciViews::R("infer")
1818
```
1919

2020
```{r, echo=FALSE}
@@ -29,13 +29,13 @@ BioDataScience1::learnr_server(input, output, session)
2929

3030
## Objectifs
3131

32-
La loi de distribution du $\chi^2$ peut être utilisée pour étudier si des dépendances existent ou non entre les niveaux de deux variables qualitatives. C'est le test $\chi^2$ d'indépendance. Vos objectifs sont :
32+
La loi de distribution du $\chi^2$ peut être utilisée pour étudier si des dépendances existent ou non entre les niveaux de deux variables qualitatives. C'est le test $\chi^2$ d'indépendance. Vos objectifs sont de :
3333

3434
- Comprendre le test d'hypothèse de $\chi^2$ d'indépendance pour deux variables qualitatives croisées
3535

3636
- Interpréter correctement un tel test
3737

38-
Vous devez avoir assimilé la matière du [module 8](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2021/chi2.html) du cours, en particulier la [section 8.2](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2021/test-dhypoth%25C3%25A8se.html). Vous devez avoir réalisé le tutoriel `BioDataScience1::run("A08La_chi2")` préalablement. Ce learnr vous sert à auto-évaluer vos acquis relatifs au test $\chi^2$ d'indépendance.
38+
Vous devez avoir assimilé la matière du [module 8](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2022/chi2.html) du cours, en particulier la [section 8.2](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2022/test-dhypoth%25C3%25A8se.html). Vous devez avoir réalisé le tutoriel `BioDataScience1::run("A08La_chi2")` préalablement. Ce learnr vous sert à auto-évaluer vos acquis relatifs au test $\chi^2$ d'indépendance.
3939

4040
## Fumeurs
4141

@@ -113,7 +113,7 @@ question("Valeur du $\\chi^2$",
113113

114114
Continuez le calcul de votre test d'hypothèse d'indépendance à la main en déterminant l'aire à droite délimitée par la valeur du quantile $\chi^2_{obs}$ calculé ci-dessus dans la distribution du $\chi^2$ correspondant à cette étude.
115115

116-
💬 **Ce code correspond au snippet `.icproba`** [`.ic` = (d)`i`stribution: `c`hi2].
116+
<!-- 💬 **Ce code correspond au snippet `.icproba`** [`.ic` = (d)`i`stribution: `c`hi2]. -->
117117

118118
```{r valeur_chi2_h2, exercise=TRUE}
119119
pchisq(___, df = ___, lower.tail = ___)
@@ -126,6 +126,7 @@ pchisq(___, df = 1, lower.tail = ___)
126126
```
127127

128128
```{r valeur_chi2_h2-solution}
129+
## Solution ##
129130
pchisq(5.34, df = 1, lower.tail = FALSE)
130131
```
131132

@@ -152,9 +153,9 @@ quiz(
152153

153154
### Utilisation de `chisq.test()`
154155

155-
Maintenant, calculez le même test d'hypothèse, mais avec la fonction dédiée `chisq.test()` dans R sur notre tableau de contingence à double entrée, considérant qu'il est déjà encodé dans R sous le nom `tabac_table`.
156+
Maintenant, calculez le même test d'hypothèse, mais avec la fonction dédiée `chisq.test()` dans R sur le tableau de contingence à double entrée, considérant qu'il est déjà encodé dans R sous le nom `tabac_table`.
156157

157-
💬 **Ce code correspond au snippet `.hcchi2bi`** [`.hc` = `h`ypothesis tests: `c`ontingency].
158+
<!-- 💬 **Ce code correspond au snippet `.hcchi2bi`** [`.hc` = `h`ypothesis tests: `c`ontingency]. -->
158159

159160
```{r tabac-prepare}
160161
tabac <- dtx(
@@ -177,6 +178,7 @@ cat("Expected frequencies:\n"); chi2.[["expected"]]
177178
```
178179

179180
```{r chi2_test_h2-solution}
181+
## Solution ##
180182
(chi2. <- chisq.test(tabac_table, correct = FALSE))
181183
cat("Expected frequencies:\n"); chi2.[["expected"]]
182184
```
@@ -199,7 +201,8 @@ cat("Expected frequencies:\n"); chi2.[["expected"]]
199201
Une étude de la distribution des différents groupes sanguins est réalisée dans trois états américains : Iowa en vert, Missouri en bleu et Floride en rouge sur la carte ci-dessous.
200202

201203
```{r, fig.align='center', echo=FALSE, message=FALSE, out.width= '80%'}
202-
SciViews::R
204+
SciViews::R("infer")
205+
library(BioDataScience1)
203206
usa <- map_data("state")
204207
usa$region <- as.factor(usa$region)
205208
#usa$region
@@ -219,7 +222,9 @@ chart(usa, aes(long, lat, group = group)) +
219222
coord_quickmap()
220223
```
221224

222-
Voici les résultats de cette étude sur un échantillon aléatoire de la population (notez l'utilisation de `xtabs()` ici en avant dernière ligne pour créer le tableau de contingence à double entrée à partir des fréquences et qui correspond au snippet `.ectable2f`) :
225+
Voici les résultats de cette étude sur un échantillon aléatoire de la population (notez l'utilisation de `xtabs()` ici en avant dernière ligne pour créer le tableau de contingence à double entrée à partir des fréquences.
226+
227+
<!-- et qui correspond au snippet `.ectable2f`) : -->
223228

224229
```{r, echo=TRUE}
225230
blood <- dtx(
@@ -251,7 +256,7 @@ question("Nombre de degré de liberté de la distribution du $\\chi^2$.",
251256

252257
Calculez le test $\chi^2$ d'indépendance dans R pour ce jeu de données directement avec la fonction `chisq.test()` considérant que le tableau de contingence est déjà créé dans R sous le nom `blood_table`.
253258

254-
💬 **Ce code correspond au snippet `.hcchi2bi`.**
259+
<!-- 💬 **Ce code correspond au snippet `.hcchi2bi`.** -->
255260

256261
```{r blood-prepare}
257262
blood <- dtx(
@@ -276,6 +281,7 @@ chi2.[["expected"]]
276281
```
277282

278283
```{r chi_blood_h2-solution}
284+
## Solution ##
279285
(chi2. <- chisq.test(blood_table))
280286
cat("Expected frequencies:\n")
281287
chi2.[["expected"]]
@@ -304,7 +310,7 @@ quiz(
304310

305311
## Conclusion
306312

307-
A l'issue de cette série d'exercices, vous devriez être à l'aise avec l'utilisation de la distribution du $\chi^2$ et de ses tests d'hypothèse. Vous pouvez maintenant passer à des applications concrètes (assignation GitHub).
313+
A l'issue de cette série d'exercices, vous devriez être à l'aise avec l'utilisation de la distribution du $\chi^2$ et de ses tests d'hypothèse. Vous pouvez maintenant passer à des applications concrètes (projets GitHub).
308314

309315
```{r comm_noscore, echo=FALSE}
310316
question_text(

0 commit comments

Comments
 (0)