Skip to content

Commit ea10918

Browse files
committed
Learnrs B00 & B01 finished + rice data set added + images compressed
1 parent f44195c commit ea10918

File tree

7 files changed

+101
-39
lines changed

7 files changed

+101
-39
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: 2022.1.0
2+
Version: 2022.1.1
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: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
# BioDataScience2 2022.1.1
2+
3+
- Learnrs B00 and B01 revised
4+
5+
- Dataser `rice` added
6+
7+
- All images are compressed
8+
19
# BioDataScience2 2022.1.0
210

311
- All learnr exercices adapted and tested with svbox2022.

R/data.R

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#' Rice Dataset Commeo and Osmancik
2+
#'
3+
#' A total of 3810 rice grain's images were taken for the two species (Cammeo and Osmancik),
4+
#' processed and feature inferences were made. Seven morphological features were obtained for each grain of rice.
5+
#'
6+
#' @format A data frame with 8 variables and 3810 observations:
7+
#' \describe{
8+
#' \item{\code{area}}{The number of pixels within the boundaries of the rice grain.}
9+
#' \item{\code{perimeter}}{The perimeter of the rice grain.}
10+
#' \item{\code{major_axis_length}}{The longest line that can be drawn on the rice grain.}
11+
#' \item{\code{minor_axis_length}}{The shortest line that can be drawn on the rice grain.}
12+
#' \item{\code{eccentricity}}{It measures how round the ellipse, which has the same moments as the rice grain, is.}
13+
#' \item{\code{convex_area}}{The the pixel count of the smallest convex shell of the region formed by the rice grain.}
14+
#' \item{\code{extent}}{the ratio of the region formed by the rice grain to the bounding box pixels.}
15+
#' \item{\code{class}}{A **factor** with two levels: `"Cammeo"`, and `"Osmancik"`.}
16+
#' }
17+
#' @source {Cinar, I. and Koklu, M. (2019). Classification of Rice Varieties Using Artificial Intelligence Methods. International Journal of Intelligent Systems and Applications in Engineering, vol.7, no.3 (Sep. 2019), pp.188-194. doi:10.18201/ijisae.2019355381}
18+
"rice"

data/rice.rda

81.6 KB
Binary file not shown.

inst/tutorials/B01La_reg_lin/B01La_reg_lin.Rmd

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,17 @@ runtime: shiny_prerendered
1515
```{r setup, include=FALSE}
1616
BioDataScience2::learnr_setup()
1717
SciViews::R("model", lang = "fr")
18-
# datasets ----
19-
## crabs
18+
19+
# crabs
2020
crabs <- read("crabs", package = "MASS")
2121
22-
## bull
22+
# bull
2323
read(file = system.file("extdata", "belgianblue.xlsx",
2424
package = "BioDataScience2"), type = "xlsx") %>.%
2525
#labelise(.,
2626
# label = list(weight = "Masse", age = "Age", variety = "Variété"),
2727
# unit = list(weight = "kg", age = "mois")) %>.%
28-
sfilter(., age <= 40) ->
28+
sfilter(., age <= 40) %->%
2929
bull
3030
3131
bull_lm <- lm(data = bull, weight ~ age)
@@ -45,45 +45,51 @@ BioDataScience2::learnr_server(input, output, session)
4545

4646
## Objectifs
4747

48-
Ce tutoriel s'intéresse à la régression linéaire. Il débute par un rappel sur la corrélation et les corrélogrammes. Cette matière est détaillée dans le module 12 de [science des données I](https://wp.sciviews.org/sdd-umons). Les objectifs de ce tutoriel sont :
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 12 de science des données I](https://wp.sciviews.org/sdd-umons/?iframe=wp.sciviews.org/sdd-umons-2022/correlation.html). Les objectifs de ce tutoriel sont :
4949

5050
- Revoir la corrélation et les indices de Pearson et Spearman
5151

5252
- Maîtriser la régression linéaire dans R, en particulier la fonction `lm()`.
5353

54+
<!-- TODO: paramétriser un modèle, c'est super-important! -->
55+
5456
## Biométrie des crabes
5557

56-
Cinq mesures morphologiques ont été étudiées sur 200 crabes. On retrouve quatre groupes composés de 50 individus. On retrouve les crabes bleu mâles et femelles et les crabes orange mâles et femelles.
58+
Cinq mesures morphologiques ont été étudiées sur 200 crabes. On retrouve quatre groupes composés de 50 individus, soit des crabes bleu mâles et femelles et des crabes orange mâles et femelles.
5759

5860
```{r, echo = TRUE}
5961
crabs <- read("crabs", package = "MASS")
6062
skimr::skim(crabs)
6163
```
6264

63-
La fonction `skim()` vous permet d'obtenir de nombreuses informations sur le tableau `crabs`. N'hésitez pas à consulter la page d'aide du jeu de données pour en apprendre davantage.
65+
La fonction `skimr::skim()` vous permet d'obtenir de nombreuses informations sur le tableau `crabs`. N'hésitez pas à consulter la page d'aide du jeu de données pour en apprendre davantage.
6466

65-
C'est à vous de jouer ! Réalisez une matrice de corrélation avec l'indice de Pearson. 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`).
67+
C'est à vous de jouer ! Réalisez une matrice de corrélation avec l'indice de Pearson. 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`).
6668

6769
```{r corr1_h3, exercise=TRUE, exercise.lines=2}
68-
crabs_corr <- correlation(sselect(___, ___:___), use = ___, method = ___)
70+
crabs_corr <- correlation(sselect(___, ___:___),
71+
use = ___, method = ___)
6972
plot(crabs_corr, ___ = ___)
7073
```
7174

7275
```{r corr1_h3-hint-1}
73-
crabs_corr <- correlation(sselect(___, ___:___), use = "complete.obs", method = "pearson")
76+
crabs_corr <- correlation(sselect(___, ___:___),
77+
use = "complete.obs", method = "pearson")
7478
plot(crabs_corr, type = ___)
7579
# Relisez le chapitre 12 du livre science des données 1 <https://wp.sciviewg/sdd-umons/>
7680
```
7781

7882
```{r corr1_h3-hint-2}
79-
correlation(sselect(crabs, ___:___), use = "complete.obs", method = "pearson")
83+
correlation(sselect(crabs, ___:___),
84+
use = "complete.obs", method = "pearson")
8085
plot(crabs_corr, type = "upper")
8186
#### ATTENTION: Hint suivant = solution !####
8287
```
8388

8489
```{r corr1_h3-solution}
8590
## Solution ##
86-
crabs_corr <- correlation(sselect(crabs, front:depth), use = "complete.obs", method = "pearson")
91+
crabs_corr <- correlation(sselect(crabs, front:depth),
92+
use = "complete.obs", method = "pearson")
8793
plot(crabs_corr, type = "upper")
8894
```
8995

@@ -94,12 +100,12 @@ grade_code("Vous avez compris comment réaliser une matrice de corrélation et u
94100
Répondez à la question ci-dessous.
95101

96102
```{r qu_corr}
97-
question("Quelles sont les combinaisons de variables les plus corrélées ? (sélectionnez donc les deux variables)",
98-
answer("front", correct = TRUE),
99-
answer("width"),
100-
answer("depth", correct = TRUE),
103+
question("Quelles sont les combinaisons de variables les plus corrélées ? (sélectionnez les deux variables)",
104+
answer("front"),
105+
answer("width", correct = TRUE),
106+
answer("depth"),
101107
answer("rear"),
102-
answer("lenght"),
108+
answer("lenght", correct = TRUE),
103109
type = "multiple",
104110
allow_retry = TRUE, random_answer_order = TRUE,
105111
submit_button = "Soumettre une réponse",
@@ -125,14 +131,13 @@ chart(data = ___, ___ ___ ___) +
125131
```
126132

127133
```{r bull_np_h2-solution}
134+
## Solution ##
128135
chart(data = bull, weight ~ age) +
129136
geom_point()
130-
131-
#### ATTENTION: Hint suivant = solution !####
132137
```
133138

134139
```{r bull_np_h2-check}
135-
grade_code("Bravo ! Vous avez réalisez le nuage de points souhaité.")
140+
grade_code("Bravo ! Vous avez réalisé le nuage de points souhaité.")
136141
```
137142

138143
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.
@@ -142,8 +147,7 @@ summary(lm. <- lm(data = ___, ___ ~ ___))
142147
```
143148

144149
```{r bull_lm_h2-hint-1}
145-
##Snippet utile ## .mlin: linear model
146-
summary(lm. <- lm(data = DF, FORMULA))
150+
summary(lm. <- lm(data = ___, ___ ~ age))
147151
148152
#### ATTENTION: Hint suivant = solution !####
149153
```
@@ -183,8 +187,8 @@ quiz(
183187
answer(sprintf("%.2f", lm_result$statistic[2])),
184188
answer(sprintf("%.2f", lm_param$r.squared[1])),
185189
allow_retry = TRUE, random_answer_order = TRUE,
186-
correct = "Bien joué ! Vous savez analyser le tableau des résultats.",
187-
incorrect = "Oups, il semble que vous avez mal lu le tableau résumé de la régression linéaire.",
190+
correct = "Oui, vous avez compris.",
191+
incorrect = "Ce n'est pas correct. Regardez plus attentivement vos résultats.",
188192
submit_button = "Soumettre une réponse",
189193
try_again_button = "Resoumettre une réponse"),
190194
question(text = "Est ce que la valeur de l'ordonnée à l'origne est significativement différente de zéro au seuil alpha de 5% ?",

inst/tutorials/B01Lb_residuals/B01Lb_residuals.Rmd

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@ runtime: shiny_prerendered
1515
```{r setup, include=FALSE}
1616
BioDataScience2::learnr_setup()
1717
SciViews::R("model", lang = "fr")
18-
# datasets ----
19-
rice <- read("rice", package = "BioDataScience3")
2018
21-
# lm -----
19+
rice <- read("rice", package = "BioDataScience2")
20+
2221
rice_lm <- lm(data = rice,area ~ major_axis_length)
2322
lm_result <- tidy(rice_lm)
2423
lm_param <- glance(rice_lm)
@@ -36,23 +35,23 @@ BioDataScience2::learnr_server(input, output, session)
3635

3736
## Objectifs
3837

39-
TODO: ce tutoriel doit encore être écrit. Vous devez probablement penser à installer une version plus récente du package qui contient les exercices finalisés !
38+
- Utiliser la fonction `lm()` afin d'obtenir un modèle de régression linéaire simple.
4039

41-
Utiliser la fonction lm() afin d'obtenir un modèle qui touche à la régression linéaire est simple. Il est plus compliqué de réaliser une fonction linéaire pertinente. Étudier le résumé du modèle linéaire et s'intéresser à l'analyse des résidus est plus complexe. L'objectif de ce tutoriel est.
40+
- Étudier le résumé du modèle linéaire
4241

43-
- d'étudier les graphiques dédiés à l'analyse des résidus.
42+
- Être capable de réaliser une analyse des résidus
4443

4544
## Description des données
4645

4746
Des scientifiques s'intéressent à deux variétés de riz cultivées en Turquie. Ils ont l'objectif de mettre en place un outil capable sur base d'analyse d'image de classer des grains de riz.
4847

4948
```{r, echo = TRUE}
50-
rice <- read("rice", package = "BioDataScience3")
49+
rice <- read("rice", package = "BioDataScience2")
5150
```
5251

5352
Vous avez à disposition le tableau `rice` qui comprend les variables suivantes `r names(rice)`. Consultez la page d'aide afin d'en apprendre davantage.
5453

55-
Votre objectif est de réaliser une régression linéaire de la variable `area` grâce à la variable `major_axis_length`. Vous devrez ensuite analyser le résumé de cette régression et les outils de diagnostic des résidus.
54+
Votre objectif est de réaliser une régression linéaire de la variable `area` sur à la variable `major_axis_length`. Vous devrez ensuite analyser le résumé de cette régression et utilser les outils de diagnostic des résidus.
5655

5756
Débutez cette analyse par proposer un nuage de point de la variable `area` en fonction de la variable `major_axis_length`.
5857

@@ -68,15 +67,16 @@ chart(data = rice, ___ ~ ___) +
6867
```
6968

7069
```{r np_h2-solution}
70+
## Solution ##
7171
chart(data = rice, area ~ major_axis_length) +
7272
geom_point()
7373
```
7474

7575
```{r np_h2-check}
76-
grade_code("Bien joué ! Vous avez réalisé un nuage de points afin de visualiser la problématique avant de tenter de la modéliser.")
76+
grade_code("Bien joué ! Vous avez réalisé un nuage de points afin de visualiser vos données avant de modéliser. C'est une bonne habitude à prendre.")
7777
```
7878

79-
## Modélisation de la problématique
79+
## Modélisation
8080

8181
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`.
8282

@@ -99,6 +99,7 @@ chart(rice_lm)
9999
```
100100

101101
```{r rice_lm_h2-solution}
102+
## Solution ##
102103
rice_lm <- lm(data = rice, area ~ major_axis_length)
103104
# Résumé de la régression linéaire
104105
summary(rice_lm)
@@ -107,11 +108,10 @@ chart(rice_lm)
107108
```
108109

109110
```{r rice_lm_h2-check}
110-
grade_code("Bien joué ! Vous avez calculé votre objet `lm_rice`.")
111+
grade_code("Bien joué ! Vous avez calculé votre objet `lm_rice`. Vous l'avez résumé et représenté graphiquement.")
111112
```
112113

113114
```{r qu_lm}
114-
#TODO
115115
quiz(
116116
question(text = "Quelle est la valeur de l'ordonnée à l'origine ?",
117117
answer(sprintf("%.2f", lm_result$estimate[1]), correct = TRUE),
@@ -151,18 +151,20 @@ Vous avez à votre disposition l'objet `rice_lm` que vous avez réalisé précé
151151
chart$___(___)
152152
# graphique quantile-quantile
153153
chart$___(___)
154-
# Position et echelle des résidus
154+
# Position et échelle des résidus
155155
chart$___(___)
156156
# Distance de Cook
157157
chart$___(___)
158158
```
159159

160160
```{r resid_h2-hint-1}
161161
# Consultez la page d'aide `modelit::chart.lm()`
162+
162163
#### ATTENTION: Hint suivant = solution !####
163164
```
164165

165166
```{r resid_h2-solution}
167+
## Solution ##
166168
# distribution des résidus
167169
chart$resfitted(rice_lm)
168170
# graphique quantile-quantile
@@ -174,7 +176,7 @@ chart$cooksd(rice_lm)
174176
```
175177

176178
```{r resid_h2-check}
177-
grade_code("Bravo ! Vous avez réalisé les quatres graphiques les plus courants de l'analyse des résidus. Serez vous à présent répondre à la question suivante.")
179+
grade_code("Bravo ! Vous avez réalisé les quatres graphiques les plus courants de l'analyse des résidus. Saurez-vous à présent répondre à la question suivante.")
178180
```
179181

180182
```{r qu_resid}

man/rice.Rd

Lines changed: 30 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)