Skip to content

Commit 36dcf74

Browse files
committed
learnr exercices tested with svbox2022
1 parent 9c2e6f2 commit 36dcf74

File tree

13 files changed

+440
-409
lines changed

13 files changed

+440
-409
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.0.0
2+
Version: 2022.1.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+
# BioDataScience1 2022.1.0
2+
3+
- All learnr exercices tested with svbox2022.
4+
15
# BioDataScience1 2022.0.0
26

37
- New version for academic year 2022-2023.

inst/tutorials/A07La_proba/A07La_proba.Rmd

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,17 @@ BioDataScience1::learnr_banner()
2525
BioDataScience1::learnr_server(input, output, session)
2626
```
2727

28-
----
28+
------------------------------------------------------------------------
2929

30-
<!-- TODO: il manque des exercices qui comparent population de taille infinie ou non et qui mette en lumière les différences au niveau du calcul des probabilités (conditionnelles) -->
30+
<!-- TODO: il manque des exercices qui comparent population de taille infinie ou non et qui mettent en lumière les différences au niveau du calcul des probabilités (conditionnelles) -->
3131

3232
## Objectifs
3333

34-
Le calcul des probabilités et le B-A-BA des statistiques. Il n'est pas toujours très intuitif, aussi, vous devez vous exercez et bien en comprendre les subtilités. Ce tutoriel vous permet de\ :
34+
Le calcul des probabilités et le B-A-BA des statistiques. Il n'est pas toujours très intuitif, aussi, vous devez vous exercez et bien en comprendre les subtilités. Ce tutoriel vous permet de :
3535

36-
- Appréhender le calculs de probabilités
36+
- Appréhender le calculs de probabilités
3737

38-
- Calculer des probabilités sur base d'un tableau de contingence
38+
- Calculer des probabilités sur base d'un tableau de contingence
3939

4040
Avant d'aborder ce tutoriel, assurez-vous d'avoir bien compris le contenu de la [section 7.1](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2020/probabilit%25C3%25A9s.html) du cours. En effet, ce learnr sert d'auto-évaluation sur cette matière et ne sera utile que dans un contexte où vous la maîtrisez déjà, à des fins de vérification de vos acquis.
4141

@@ -79,7 +79,6 @@ quiz(
7979
)
8080
```
8181

82-
8382
## Calculer des probabilités
8483

8584
![](images/calculation.jpg)
@@ -88,21 +87,19 @@ quiz(
8887

8988
![](images/stress.jpg)
9089

91-
Le résultat d'une enquête relative au stress dans une population active en fonction de leurs revenus professionnels est le suivant\ :
90+
Le résultat d'une enquête relative au stress dans une population active en fonction de leurs revenus professionnels est le suivant :
9291

9392
```{r}
94-
stress <- data.frame(
93+
stress <- dtf(
9594
`Revenus faibles` = c( 526, 1954, 2480),
9695
`Revenus moyens` = c( 274, 1680, 1954),
9796
`Revenus élevés` = c( 216, 1899, 2115),
98-
Total = c(1016, 5533, 6549),
99-
row.names = c("Stressé", "Non stressé", "Total"),
100-
check.names = FALSE
101-
)
97+
Total = c(1016, 5533, 6549))
98+
rownames(stress) <- c("Stressé", "Non stressé", "Total")
10299
knitr::kable(stress)
103100
```
104101

105-
Calculez les probabilités suivantes relatives à cette étude (vous pouvez vous aider d'une calculette)\ :
102+
Calculez les probabilités suivantes relatives à cette étude (vous pouvez vous aider d'une calculette) :
106103

107104
```{r qu_calcul}
108105
quiz(caption = "Stress et revenus",
@@ -145,7 +142,7 @@ quiz(caption = "Stress et revenus",
145142

146143
![](images/pills.jpg)
147144

148-
Un nouveau médicament contre une maladie permet de soigner 80% des individus atteints. Malheureusement, une personne sur deux ne pourra pas prendre ce médicament à cause deffets secondaires (patients « sensibles »). Considérant un nouveau malade arrivant à l'hôpital, quelle est la probabilité quil ne puisse pas être soigné par ce traitement\ ?
145+
Un nouveau médicament contre une maladie permet de soigner 80% des individus atteints. Malheureusement, une personne sur deux ne pourra pas prendre ce médicament à cause d'effets secondaires (patients « sensibles »). Considérant un nouveau malade arrivant à l'hôpital, quelle est la probabilité qu'il ne puisse pas être soigné par ce traitement ?
149146

150147
```{r medic1_h3, exercise=TRUE}
151148
@@ -178,7 +175,7 @@ grade_result(
178175
)
179176
```
180177

181-
Un médecin a trois patients atteints de la maladie en question dans sa salle dattente ((ils ne se connaissent pas et ne sont pas de la même famille). Quelle est la probabilité que ce médecin puisse soigner lensemble de ses patients à l'aide du nouveau médicament\ ?
178+
Un médecin a trois patients atteints de la maladie en question dans sa salle d'attente ((ils ne se connaissent pas et ne sont pas de la même famille). Quelle est la probabilité que ce médecin puisse soigner l'ensemble de ses patients à l'aide du nouveau médicament ?
182179

183180
```{r medic2_h2, exercise=TRUE}
184181
@@ -205,7 +202,7 @@ grade_result(
205202

206203
## Conclusion
207204

208-
Bravo\ ! Vous venez de vérifier votre bonne compréhension des probabilités et des calculs de probabilités. Si certaines questions vous semblaient plus difficiles, revoyez la théorie correspondante avant de progresser dans la matière.
205+
Bravo ! Vous venez de vérifier votre bonne compréhension des probabilités et des calculs de probabilités. Si certaines questions vous semblaient plus difficiles, revoyez la théorie correspondante avant de progresser dans la matière.
209206

210207
```{r comm_noscore, echo=FALSE}
211208
question_text(

inst/tutorials/A07Lb_distri/A07Lb_distri.Rmd

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,21 @@ BioDataScience1::learnr_banner()
2525
BioDataScience1::learnr_server(input, output, session)
2626
```
2727

28-
----
28+
------------------------------------------------------------------------
2929

3030
## Objectifs
3131

3232
Les lois de distribution généralisent le calcul des probabilités dans des situations bien définies. Elles permettent de calculer la probabilité que des évènements se produisent d'un point de vue théorique. La distribution binomiale et celle de Poisson concernent des variables quantitatives à deux modalités, c'est-à-dire que seulement deux évènements disjoints peuvent se produire.
3333

34-
- Vérifiez vos connaissances relatives à la loi de distribution des probabilités binomiale
34+
- Vérifiez vos connaissances relatives à la loi de distribution des probabilités binomiale
3535

36-
- Vous assurez d'avoir bien compris la distribution de Poisson
36+
- Vous assurez d'avoir bien compris la distribution de Poisson
3737

3838
Vous devez avoir étudié le contenu du [module 7](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2020/proba.html) du cours, et en particulier les sections relatives à la [distribution binomiale](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2020/distribution-binomiale.html) et à la [distribution de Poisson](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2020/distribution-de-poisson.html). Enfin, cette matière nécessite que vous soyez à l'aise avec le calcul des probabilités, et que vous l'ayez vérifié via le learnr `BioDataScience1::run("A07La_proba")`.
3939

4040
## Distribution binomiale
4141

42-
La distribution binomiale calcule les probabilités de *n* succès pour un modèle essai-erreur indépendant. Cela signifie que seulement deux évènements disjoints sont possibles\ : le "succès" ou l'"échec" (ces noms sont attribués aux deux évènements qui peuvent représenter tout autre chose comme pile ou face, mâle ou femelle, chevelu ou non, ...). Le nombre d'essais indépendants *p* est fixé à l'avance et est toujours le même pour une distribution donnée.
42+
La distribution binomiale calcule les probabilités de *n* succès pour un modèle essai-erreur indépendant. Cela signifie que seulement deux évènements disjoints sont possibles : le "succès" ou l'"échec" (ces noms sont attribués aux deux évènements qui peuvent représenter tout autre chose comme pile ou face, mâle ou femelle, chevelu ou non, ...). Le nombre d'essais indépendants *p* est fixé à l'avance et est toujours le même pour une distribution donnée.
4343

4444
![](images/lions.jpg)
4545

@@ -71,27 +71,27 @@ Calculez la table des probabilités possibles pour tous les évènements depuis
7171
💬 **Ce code correspond au snippet `.ibtable`** [`.ib`= (d)istribution: `b`inomial].
7272

7373
```{r binom1_h2, exercise=TRUE}
74-
(.table <- data.frame(success = ___,
74+
(.table <- dtx(success = ___,
7575
probability = dbinom(___, size = ___, prob = ___)))
7676
```
7777

7878
```{r binom1_h2-hint-1}
79-
(.table <- data.frame(success = 0:10,
79+
(.table <- dtx(success = 0:10,
8080
probability = dbinom(0:10, size = ___, prob = ___)))
8181
8282
#### ATTENTION: Hint suivant = solution !####
8383
```
8484

8585
```{r binom1_h2-solution}
86-
(.table <- data.frame(success = 0:10,
86+
(.table <- dtx(success = 0:10,
8787
probability = dbinom(0:10, size = 10, prob = 0.5)))
8888
```
8989

9090
```{r binom1_h2-check}
91-
grade_code("C'est parfait.")
91+
grade_code("Oui, `dbinom()` permet de réaliser ce calcul.")
9292
```
9393

94-
Employez R cette fois-ci pour répondre à une des questions posées lors du quiz plus haut\ : "Calculez la probabilité d'observer au maximum 3 mâles sur 10 individus."
94+
Employez R cette fois-ci pour répondre à une des questions posées lors du quiz plus hau : "Calculez la probabilité d'observer au maximum 3 mâles sur 10 individus."
9595

9696
💬 **Ce code correspond au snippet `.ibproba`.**
9797

@@ -117,24 +117,28 @@ pbinom(3, size = 10, prob = 0.5, lower.tail = TRUE)
117117
grade_code("Vous comprenez manifestement bien la logique de ce type de calcul dans R... ou alors, vous avez passé énormément de temps à observer les lions au Kenya !")
118118
```
119119

120-
Calculez avec R la probabilité dobserver exactement 4 lionnes pour 10 contacts dans une autre réserve où il y a 3 femelles pour 1 mâle (Pr{femelle} = 0.75).
120+
Calculez avec R la probabilité d'observer exactement 4 lionnes pour 10 contacts dans une autre réserve où il y a 3 femelles pour 1 mâle (Pr{femelle} = 0.75).
121121

122122
```{r binom3_h3, exercise=TRUE}
123-
pbinom(___, size = ___, prob = ___, lower.tail = ___) - ___
123+
pbinom(___, size = ___, prob = ___, lower.tail = ___) -
124+
___
124125
```
125126

126127
```{r binom3_h3-hint-1}
127-
pbinom(___, size = ___, prob = ___, lower.tail = ___) - pbinom(___, size = ___, prob = ___, lower.tail = ___)
128+
pbinom(___, size = ___, prob = ___, lower.tail = ___) -
129+
pbinom(___, size = ___, prob = ___, lower.tail = ___)
128130
```
129131

130132
```{r binom3_h3-hint-2}
131-
pbinom(4, size = ___, prob = ___, lower.tail = TRUE) - pbinom(___, size = ___, prob = ___, lower.tail = TRUE)
133+
pbinom(4, size = ___, prob = ___, lower.tail = TRUE) -
134+
pbinom(___, size = ___, prob = ___, lower.tail = TRUE)
132135
133136
#### ATTENTION: Hint suivant = solution !####
134137
```
135138

136139
```{r binom3_h3-solution}
137-
pbinom(4, size = 10, prob = 0.75, lower.tail = TRUE) - pbinom(3, size = 10, prob = 0.75, lower.tail = TRUE)
140+
pbinom(4, size = 10, prob = 0.75, lower.tail = TRUE) -
141+
pbinom(3, size = 10, prob = 0.75, lower.tail = TRUE)
138142
```
139143

140144
```{r binom3_h3-check}
@@ -170,7 +174,7 @@ grade_code("Les barres verticales représentent ici la probabilité de chaque é
170174

171175
![](images/fishing.jpg)
172176

173-
La distribution de Poisson détermine, tout comme la distribution binomiale, les probabilités de nombres de succès par rapport à un nombre d'essais indépendants, mais ici la probabilité de succès est très faible (évènement rare). Vous pouvez utiliser cette distribution pour déterminer la probabilité de rencontrer un animal rare, pour prédire les tremblements de terre, pour déterminer la probabilité d'une maladie rare, ... et même pour prédire la probabilité que vous arriviez à pêcher un gros poisson avec votre petite canne à pêche\ !
177+
La distribution de Poisson détermine, tout comme la distribution binomiale, les probabilités de nombres de succès par rapport à un nombre d'essais indépendants, mais ici la probabilité de succès est très faible (évènement rare). Vous pouvez utiliser cette distribution pour déterminer la probabilité de rencontrer un animal rare, pour prédire les tremblements de terre, pour déterminer la probabilité d'une maladie rare, ... et même pour prédire la probabilité que vous arriviez à pêcher un gros poisson avec votre petite canne à pêche !
174178

175179
Répondez à la question suivante en effectuant le calcul à la main (en vous aidant éventuellement d'une calculette).
176180

@@ -192,19 +196,19 @@ Utilisez R pour représentez la table de probabilités lié à l'exercice ci-des
192196
💬 **Ce code correspond au snippet `.iptable`** [`.ip` = (d)`i`stribution: `p`oisson].
193197

194198
```{r poisson1_h2, exercise=TRUE}
195-
(.table <- data.frame(occurences = 0:(___+20), probability = dpois(0:(___+20),
199+
(.table <- dtx(occurences = 0:(___ + 20), probability = dpois(0:(___ + 20),
196200
lambda = ___)))
197201
```
198202

199203
```{r poisson1_h2-hint-1}
200-
(.table <- data.frame(occurences = 0:(3+20), probability = dpois(0:(___+20),
204+
(.table <- dtx(occurences = 0:(3 + 20), probability = dpois(0:(___ + 20),
201205
lambda = ___)))
202206
203207
#### ATTENTION: Hint suivant = solution !####
204208
```
205209

206210
```{r poisson1_h2-solution}
207-
(.table <- data.frame(occurences = 0:(3+20), probability = dpois(0:(3+20),
211+
(.table <- dtx(occurences = 0:(3 + 20), probability = dpois(0:(3 + 20),
208212
lambda = 3)))
209213
```
210214

@@ -217,19 +221,19 @@ Représentez le graphique de densité de la distribution de Poisson pour $\lambd
217221
💬 **Ce code correspond au snippet `.ipdens`.**
218222

219223
```{r poisson2_h2, exercise = TRUE}
220-
plot(0:(___+20), dpois(0:(___+20), lambda = ___),
224+
plot(0:(___ + 20), dpois(0:(___ + 20), lambda = ___),
221225
type = "h", col = "black", xlab = "Quantiles", ylab = "Probability mass")
222226
```
223227

224228
```{r poisson2_h2-hint-1}
225-
plot(0:(12+20), dpois(0:(___+20), lambda = ___),
229+
plot(0:(12 + 20), dpois(0:(___ + 20), lambda = ___),
226230
type = "h", col = "black", xlab = "Quantiles", ylab = "Probability mass")
227231
228232
#### ATTENTION: Hint suivant = solution !####
229233
```
230234

231235
```{r poisson2_h2-solution}
232-
plot(0:(12+20), dpois(0:(12+20), lambda = 12),
236+
plot(0:(12 + 20), dpois(0:(12 + 20), lambda = 12),
233237
type = "h", col = "black", xlab = "Quantiles", ylab = "Probability mass")
234238
```
235239

@@ -239,7 +243,7 @@ grade_code("Ce graphique est en fait très asymétrique, mais l'axe des quantile
239243

240244
## Conclusion
241245

242-
Bravo\ ! Vous venez de terminer votre auto-évaluation relative à deux des lois de distribution de probabilités les plus courantes. La logique et la façon d'effectuer des calculs de probabilités à partir de quantiles ou de quantiles à partir de probabilités est un exercice de base en statistiques que vous serez amené à utiliser fréquemment. Assurez-vous donc de bien la maîtriser.
246+
Bravo ! Vous venez de terminer votre auto-évaluation relative à deux des lois de distribution de probabilités les plus courantes. La logique et la façon d'effectuer des calculs de probabilités à partir de quantiles ou de quantiles à partir de probabilités est un exercice de base en statistiques que vous serez amené à utiliser fréquemment. Assurez-vous donc de bien la maîtriser.
243247

244248
```{r comm_noscore, echo=FALSE}
245249
question_text(

inst/tutorials/A07Lc_distri2/A07Lc_distri2.Rmd

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ BioDataScience1::learnr_banner()
2525
BioDataScience1::learnr_server(input, output, session)
2626
```
2727

28-
----
28+
------------------------------------------------------------------------
2929

3030
## Objectifs
3131

32-
La loi de distribution Normale est centrale en statistiques. Ce tutoriel vous permet d'auto-évaluer vos acquis à son sujet. Vous allez\ :
32+
La loi de distribution Normale est centrale en statistiques. Ce tutoriel vous permet d'auto-évaluer vos acquis à son sujet. Vous allez :
3333

34-
- Vérifier que vous comprenez bien la logique des calculs autour de la distribution Normale
34+
- Vérifier que vous comprenez bien la logique des calculs autour de la distribution Normale
3535

36-
- Réaliser et interpréter un graphique quantile-quantile
36+
- Réaliser et interpréter un graphique quantile-quantile
3737

3838
Vous devez avoir étudié le contenu du [module 7](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2020/proba.html) du cours, et en particulier les sections relatives à la [distribution Normale](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2020/distribution-normale.html) et au [graphique quantile-quantile](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2020/graphique-quantile-quantile.html). Assurez-vous également au préalable d'être à l'aise avec le calcul des probabilités (que vous vérifiez avec le learnr `BioDataScience1::run("A07La_proba")`).
3939

@@ -96,7 +96,7 @@ grade_code("Le code pour obtenir ce graphique est un peu long... mais le snippet
9696

9797
Ceci est un graphique de base R. Vous avez beaucoup plus utilisé les graphiques {ggplot2} jusqu'ici. Leurs logiques diffèrent. Par exemple, pour ajouter un élément à un graphique de base, nous ferons appel à une instruction supplémentaire *sans* utiliser l'opérateur `+`, contrairement à {ggplot2}.
9898

99-
Ajoutez maintenant le libellé de la distribution à côté de sa courbe sur le graphique avec la fonction `text()` (dernière ligne du code à compléter). Pour cela, vous devez rajouter ceci à la fin\ :
99+
Ajoutez maintenant le libellé de la distribution à côté de sa courbe sur le graphique avec la fonction `text()` (dernière ligne du code à compléter). Pour cela, vous devez rajouter ceci à la fin :
100100

101101
```{r, echo=FALSE, eval=FALSE}
102102
text(.mu-.s, .d(.mu-.s), .label, pos = 2, col = .col) # Label at left
@@ -189,7 +189,7 @@ pnorm(100, mean = 145, sd = 22, lower.tail = TRUE)
189189
grade_code("Ici, c'est bien l'aire à gauche du quantile 100 cm qui nous intéresse. Elle correspond à la probabilité qu'un plant soit moins haut que ce quantile et se calcule en spécifiant `lower.tail = FALSE` dans la fonction `pnorm()`.")
190190
```
191191

192-
Calculez la probabilités d'avoir un plant de maïs dont la hauteur est comprise entre 120 et 150 cm en utilisant les aires à gauche des quantiles.
192+
Calculez la probabilités d'avoir un plant de maïs dont la hauteur est comprise entre 120 et 150 cm en utilisant les aires à gauche des quantiles.
193193

194194
```{r normal4_h3, exercise=TRUE}
195195
pnorm(___, mean = ___, sd = ___, lower.tail = ___) -
@@ -282,7 +282,7 @@ car::qqPlot(crabs[["length"]], distribution = "norm",
282282
grade_code("Rappelez-vous de la syntaxe `DF$VAR` pour se référer à la variable nommée `VAR` dans le dataframe `DF`. Vous voyez ici que `length` suit une distribution Normale parce que tous les points (ou quasi-tous dans d'autres situations) sont à l'intérieur de l'enveloppe de confiance à 95% représenté par les courbes en pointillés bleus.")
283283
```
284284

285-
Est-ce que la longueur de carapace suit une distribution log-Normale chez ces mêmes crabes\ ?
285+
Est-ce que la longueur de carapace suit une distribution log-Normale chez ces mêmes crabes ?
286286

287287
```{r qqnorm2_h2, exercise=TRUE}
288288
SciViews::R()

0 commit comments

Comments
 (0)