Skip to content

Commit ccb81a4

Browse files
committed
Revision of B08Lb_bigd learnr tutorial
1 parent bf9653e commit ccb81a4

File tree

3 files changed

+36
-22
lines changed

3 files changed

+36
-22
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.4.0
2+
Version: 2022.5.0
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: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# BioDataScience2 2022.5.0
2+
3+
- A new tutorial **B08Lb_bigd** is added.
4+
15
# BioDataScience2 2022.4.0
26

37
- A new tutorial **B07Lb_ca** is added.

inst/tutorials/B08Lb_bigd/B08Lb_bigd.Rmd

Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -118,54 +118,56 @@ La table `exam` comprend une série de mesures obtenue à la suite d'un examen c
118118

119119
Utilisez la fonction tbl() afin de produire deux objets qui vont accepter les verbes comme filter(), select(), group_by(),... afin de réaliser un remaniement de données.
120120

121-
```{r tbl, exercise = TRUE}
121+
```{r tbl, exercise=TRUE}
122122
blood_db <- ___
123123
blood_db
124124
exam_db <- ___
125125
exam_db
126126
```
127127

128128
```{r tbl-solution}
129+
## Solution ##
129130
blood_db <- tbl(diabetes_db, "blood")
130131
blood_db
131132
exam_db <- tbl(diabetes_db, "exam")
132133
exam_db
133134
```
134135

135136
```{r tbl-check}
136-
grade_code("Vous avez à présent deux objets que vous allez pouvoir manipuler simplement avec les fonctions du remaniement de données que vous maitrisez.")
137+
grade_code("Vous avez à présent deux objets que vous allez pouvoir manipuler simplement avec les fonctions du remaniement de données.")
137138
```
138139

139140
Commençons par une instruction simple. Sélectionnez les individus de plus de 60 ans. Employez l'objet pertinent `blood_db`ou `exam_blood`.
140141

141-
```{r db1_h2, exercise = TRUE}
142+
```{r db1_h2, exercise=TRUE}
142143
exam60 <- ___(___, ___ >= ___)
143144
# Affichez la requête SQL réalisée
144145
___(___)
145146
# Collectez vos résultats
146-
collect_dtx(___)
147+
(___ <- collect_dtx(___))
147148
```
148149

149150
```{r db1_h2-hint-1}
150151
exam60 <- filter(exam_db, ___>=___)
151152
# Affichez la requête SQL realisée
152153
___(___)
153154
# Collectez vos résultats
154-
collect_dtx(exam60)
155+
(exam60 <- collect_dtx(exam60))
155156
156157
#### ATTENTION: Hint suivant = solution !####
157158
```
158159

159160
```{r db1_h2-solution}
161+
## Solution ##
160162
exam60 <- filter(exam_db, age>=60)
161163
# Affichez la requête SQL realisée
162164
show_query(exam60)
163165
# Collectez vos résultats
164-
collect_dtx(exam60)
166+
(exam60 <- collect_dtx(exam60))
165167
```
166168

167169
```{r db1_h2-check}
168-
grade_code("Commencez par analyser la requête SQL obtenue avec la fonction show_query(). On observe que la fonction filter() va être convertie en requête SQL. On va réaliser une sélection (SELECT) dans (FROM) la table `exam` où (WHERE) la variable age est supérieur à 60 (`age` >= 60). La fonction collect_*() permet d'exécuter la requête et d'en récupérer le résultat.")
170+
grade_code("Commencez par analyser la requête SQL obtenue avec show_query(). On observe que la fonction filter() va être convertie en requête SQL. On va réaliser une sélection (SELECT) dans (FROM) la table `exam` où (WHERE) la variable age est supérieur à 60 (`age` >= 60). La fonction collect_*() permet d'exécuter la requête et d'en récupérer le résultat.")
169171
```
170172

171173
Sélectionnez les individus de plus de 25 ans et de moins de 45 ans. Gardez uniquement les variables suivantes : id, age, gender, waist, hip. Collectez le résultat de votre sélection dans la variable `exam25`. Affichez ensuite les 6 premières lignes de votre tableau collecté.
@@ -204,43 +206,48 @@ head(exam25)
204206
grade_code("Vous pouvez observer qu'avec l'assignation alternative, une requête sur une base de données est très similaire à un remaniement sur un tableau de données classique de type data.table. On récupère directement le résultat avec %->%.")
205207
```
206208

207-
Sélectionnez 25 individus aléatoires par sexe. Gardez ensuite uniquement les variables `id` et `gender`. Assignez cette requête à `exam_red`. Dans un second temps, collectez le résultat.
209+
Sélectionnez 25 individus aléatoires par sexe. Gardez ensuite uniquement les variables `id` et `gender`. Assignez cette requête à `exam_red`. Dans un second temps, collectez le résultat dans `exam_res`.
208210

209211
```{r db3_h2, exercise = TRUE}
210212
___ %>.%
211-
___(., ___) |> slice_sample(n = ___) %>.%
212-
___(., ___) -> ___
213+
___(., ___) |%>.%
214+
slice_sample(., n = ___) %>.%
215+
___(., ___) ->
216+
exam_red
213217
# Collecte du résultat
214-
collect_dtx(___)
218+
(exam_res <- collect_dtx(__))
215219
```
216220

217221
```{r db3_h2-hint-1}
218222
___ %>.%
219-
group_by(., ___) |> slice_sample(n = 25) %>.%
220-
select(., ___) -> exam_red
221-
223+
group_by(., ___) %>.%
224+
slice_sample(., n = 25) %>.%
225+
select(., ___) ->
226+
exam_red
222227
# Collecte du résultat
223-
collect_dtx(___)
228+
(exam_res <- collect_dtx(exam_red))
224229
225230
#### ATTENTION: Hint suivant = solution !####
226231
```
227232

228233
```{r db3_h2-solution}
229234
## Solution ##
230235
exam_db %>.%
231-
group_by(., gender) |> slice_sample(n = 25) %>.%
232-
select(., id, gender) -> exam_red
236+
group_by(., gender) %>.%
237+
slice_sample(., n = 25) %>.%
238+
select(., id, gender) ->
239+
exam_red
233240
# Collecte du résultat
234-
collect_dtx(exam_red)
241+
(exam_res <- collect_dtx(exam_red))
235242
```
236243

237244
```{r db3_h2-check}
238245
grade_code("Nous allons pouvoir employer `exam_red` qui est une suite d'instruction afin de réaliser une requête plus complexe.")
239246
```
240247

241-
Employez l'objet que vous venez de créer (`exam_red`) afin d'extraite uniquement le taux de cholestérol total des personnes sélectionnées. Vous allez donc devoir réaliser une jointure (réalisez une jointure à gauche).
248+
Employez l'objet de requête que vous venez de créer (`exam_red`) afin d'extraite uniquement le taux de cholestérol total des personnes sélectionnées. Vous allez donc devoir réaliser une jointure (réalisez une jointure à gauche).
242249

243-
```{r db4_h2, exercise = TRUE}
250+
```{r db4_h2, exercise=TRUE}
244251
# Jointure, sélection et collecte
245252
cholesterol %<-% ___(exam_red, select(___, ___, ___), by = "___")
246253
@@ -258,9 +265,12 @@ cholesterol %<-% left_join(exam_red, select(___, ___, ___), by = "___")
258265
chart(data = cholesterol, chol ~ gender) +
259266
geom_boxplot() +
260267
labs(x = "Genre", y = "Cholestérol total")
268+
269+
#### ATTENTION: Hint suivant = solution !####
261270
```
262271

263272
```{r db4_h2-solution}
273+
## Solution ##
264274
# Jointure, sélection et collecte
265275
cholesterol %<-% left_join(exam_red, select(blood_db, id, chol), by = "id")
266276
@@ -271,7 +281,7 @@ chart(data = cholesterol, chol ~ gender) +
271281
```
272282

273283
```{r db4_h2-check}
274-
grade_code("Vous avez employez un objet qui contenait une suite d'instruction que vous avez combiné avec une autre table à l'aide d'une jointure. Comme vous pouvez le voir, il est possible de réaliser toutes les fontions que vous avez l'habitude d'employer sur une base de données.")
284+
grade_code("Vous avez employé un objet qui contenait une suite d'instruction que vous avez combiné avec une autre table à l'aide d'une jointure. Comme vous pouvez le voir, il est possible de réaliser toutes les fontions que vous avez l'habitude d'utiliser sur une base de données grâce à {dbplyr}.")
275285
```
276286

277287
## Conclusion

0 commit comments

Comments
 (0)