Skip to content

Commit 9498bad

Browse files
committed
Bug avoiding in {gradthis} (obj_split at the end)
1 parent e21eb6b commit 9498bad

File tree

5 files changed

+55
-13
lines changed

5 files changed

+55
-13
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Package: BioDataScience3
2-
Version: 2025.3.0
2+
Version: 2025.3.1
33
Title: A Series of Learnr Documents for Biological Data Science 3
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+
# BioDataScience3 2025.3.1
2+
3+
- A bug in {gradethis} is avoided (error when an object is generated, printed, and then, another object is generated with a wrong name in the same exercise). It appeared in **C01Lb_ml1**, **C02La_cv**, and **C02Lb_ml2**. The workaround consists in printing the intermediate object at the end of the exercise.
4+
15
# BioDataScience3 2025.3.0
26

37
- Revision of **C03La_roc** and **C03Lb_ml3** for 2025-2026.

inst/tutorials/C01Lb_ml1/C01Lb_ml1.Rmd

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ bio_lda <- mlLda(data = bio_train, gender ~ .)
6767
# Confusion
6868
bio_conf <- confusion(predict(bio_lda, bio_test), bio_test$gender)
6969
bio_conf_tab <- summary(bio_conf)
70+
rm(bio_split, bio_train, bio_test, bio_lda, bio_conf)
7071
```
7172

7273
```{r, echo=FALSE}
@@ -169,22 +170,30 @@ bio <- sdrop_na(bio, wrist)
169170

170171
Utilisez les fonctions `initial_split()`, `training()` et `testing()` pour définir votre set d'apprentissage et votre set de test. Votre set d'apprentissage va se nommer `bio_train` et votre set de test sera `bio_test`. Il vous est demandé de réaliser un set d'apprentissage contenant 3/4 des observations et en conservant les mêmes proportions qu'au départ pour le genre.
171172

172-
```{r split_h2, exercise=TRUE}
173+
```{r split_prep}
174+
#rm(bio_split)
175+
#rm(bio_train)
176+
#rm(bio_test)
177+
```
178+
179+
```{r split_h2, exercise=TRUE, exercise.setup="split_prep"}
173180
set.seed(164) # Fixer le début du générateur de nombres pseudo-aléatoires
174181
bio_split <- initial_split(___, prop = ___, ___ = gender)
175-
bio_split
176182
# Diviser le tableau
177183
___ <- training(___)
178184
bio_test <- testing(___)
185+
# Voir bio_split
186+
bio_split
179187
```
180188

181189
```{r split_h2-hint-1}
182190
set.seed(164) # Fixer le début du générateur de nombres pseudo-aléatoires
183191
bio_split <- initial_split(bio, prop = 3/4, ___ = gender)
184-
bio_split
185192
# Diviser le tableau
186193
___ <- training(___)
187194
bio_test <- testing(___)
195+
# Voir bio_split
196+
bio_split
188197
189198
## Attention, le prochain indice est la solution ##
190199
```
@@ -193,10 +202,11 @@ bio_test <- testing(___)
193202
## Solution ##
194203
set.seed(164) # Fixer le début du générateur de nombres pseudo-aléatoires
195204
bio_split <- initial_split(bio, prop = 3/4, strata = gender)
196-
bio_split
197205
# Diviser le tableau
198206
bio_train <- training(bio_split)
199207
bio_test <- testing(bio_split)
208+
# Voir bio_split
209+
bio_split
200210
```
201211

202212
```{r split_h2-check}
@@ -207,7 +217,16 @@ grade_code("Vous avez réalisez votre set d'apprentissage et votre set de test a
207217

208218
Créez maintenant un classifieur du genre en fonction des autres variables (en utilisant une formule abrégée). Choisissez le tableau adéquat pour ce faire et placez ce classifieur dans la variable `bio_lda`.
209219

210-
```{r lda1_h2, exercise=TRUE}
220+
```{r lda1_prep}
221+
# Prepare train and test sets
222+
set.seed(164)
223+
bio_split <- initial_split(bio, prop = 2/3)
224+
bio_train <- training(bio_split)
225+
bio_test <- testing(bio_split)
226+
```
227+
228+
229+
```{r lda1_h2, exercise=TRUE, exercise.setup="lda1_prep"}
211230
bio_lda <- ___(data = ___, ___ ~ ___)
212231
summary(bio_lda)
213232
```
@@ -233,7 +252,20 @@ grade_code("Voici donc votre premier classifieur ADL. Voyons quoi en faire...",
233252

234253
Vous allez maintenant déterminer les performances de votre classifieur `bio_lda`. Ne vous trompez pas dans les jeux de données à utiliser `bio`, `bio_train` et `bio_test` pour ce faire.
235254

236-
```{r lda2_h2, exercise=TRUE}
255+
```{r lda2_prep}
256+
# Prepare train and test sets
257+
set.seed(164)
258+
bio_split <- initial_split(bio, prop = 2/3)
259+
bio_train <- training(bio_split)
260+
bio_test <- testing(bio_split)
261+
262+
# Create an LDA model
263+
bio_lda <- mlLda(data = bio_train, gender ~ .)
264+
265+
```
266+
267+
268+
```{r lda2_h2, exercise=TRUE, exercise.setup="lda2_prep"}
237269
bio_pred <- predict(___, ___)
238270
bio_conf <- confusion(___, ___$___)
239271
bio_conf

inst/tutorials/C02La_cv/C02La_cv.Rmd

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,30 +144,33 @@ Utilisez les fonctions `initial_split()`, `training()` et `testing()` pour défi
144144
```{r rice_split_h2, exercise=TRUE}
145145
set.seed(8888) # Fixer le début du générateur de nombres pseudo-aléatoires
146146
rice_split <- initial_split(___, prop = ___, strata = ___)
147-
rice_split
148147
# Diviser le tableau
149148
___ <- training(___)
150149
rice_test <- testing(___)
150+
# Afficher rice_split
151+
rice_split
151152
```
152153

153154
```{r rice_split_h2-hint-1}
154155
set.seed(8888) # Fixer le début du générateur de nombres pseudo-aléatoires
155156
rice_split <- initial_split(rice, prop = 0.8, strata = ___)
156-
rice_split
157157
# Diviser le tableau
158158
___ <- training(___)
159159
rice_test <- testing(___)
160+
# Afficher rice_split
161+
rice_split
160162
161163
## Attention, le prochain indice est la solution ##
162164
```
163165

164166
```{r rice_split_h2-solution}
165167
set.seed(8888) # Fixer le début du générateur de nombres pseudo-aléatoires
166168
rice_split <- initial_split(rice, prop = 0.8, strata = class)
167-
rice_split
168169
# Diviser le tableau
169170
rice_train <- training(rice_split)
170171
rice_test <- testing(rice_split)
172+
# Afficher rice_split
173+
rice_split
171174
```
172175

173176
```{r rice_split_h2-check}

inst/tutorials/C02Lb_ml2/C02Lb_ml2.Rmd

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,21 +141,23 @@ Réalisez le set d'apprentissage et le set de test. 80% des observations vont se
141141
```{r split_h2, exercise=TRUE}
142142
set.seed(101121) # Générateur de nombres pseudo-aléatoires
143143
pumpkins_split <- initial_split(___, prop = ___)
144-
pumpkins_split
145144
# training set
146145
pumpkins_train <- ___(___)
147146
# test set
148147
pumpkins_test <- ___(___)
148+
# Afficher pumpkins_split
149+
pumpkins_split
149150
```
150151

151152
```{r split_h2-hint-1}
152153
set.seed(101121) # Générateur de nombres pseudo-aléatoires
153154
pumpkins_split <- initial_split(___, prop = ___)
154-
pumpkins_split
155155
# training set
156156
pumpkins_train <- training(pumpkins_split)
157157
# test set
158158
pumpkins_test <- ___(___)
159+
# Afficher pumpkins_split
160+
pumpkins_split
159161
160162
## Attention, le prochain indice est la solution ##
161163
```
@@ -164,11 +166,12 @@ pumpkins_test <- ___(___)
164166
## Solution ##
165167
set.seed(101121) # Générateur de nombres pseudo-aléatoires
166168
pumpkins_split <- initial_split(pumpkins, prop = 0.8)
167-
pumpkins_split
168169
# training set
169170
pumpkins_train <- training(pumpkins_split)
170171
# test set
171172
pumpkins_test <- testing(pumpkins_split)
173+
# Afficher pumpkins_split
174+
pumpkins_split
172175
```
173176

174177
```{r split_h2-check}

0 commit comments

Comments
 (0)