You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: inst/tutorials/B08Lb_bigd/B08Lb_bigd.Rmd
+31-21Lines changed: 31 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -118,54 +118,56 @@ La table `exam` comprend une série de mesures obtenue à la suite d'un examen c
118
118
119
119
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.
120
120
121
-
```{r tbl, exercise = TRUE}
121
+
```{r tbl, exercise=TRUE}
122
122
blood_db <- ___
123
123
blood_db
124
124
exam_db <- ___
125
125
exam_db
126
126
```
127
127
128
128
```{r tbl-solution}
129
+
## Solution ##
129
130
blood_db <- tbl(diabetes_db, "blood")
130
131
blood_db
131
132
exam_db <- tbl(diabetes_db, "exam")
132
133
exam_db
133
134
```
134
135
135
136
```{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.")
137
138
```
138
139
139
140
Commençons par une instruction simple. Sélectionnez les individus de plus de 60 ans. Employez l'objet pertinent `blood_db`ou `exam_blood`.
140
141
141
-
```{r db1_h2, exercise = TRUE}
142
+
```{r db1_h2, exercise=TRUE}
142
143
exam60 <- ___(___, ___ >= ___)
143
144
# Affichez la requête SQL réalisée
144
145
___(___)
145
146
# Collectez vos résultats
146
-
collect_dtx(___)
147
+
(___ <- collect_dtx(___))
147
148
```
148
149
149
150
```{r db1_h2-hint-1}
150
151
exam60 <- filter(exam_db, ___>=___)
151
152
# Affichez la requête SQL realisée
152
153
___(___)
153
154
# Collectez vos résultats
154
-
collect_dtx(exam60)
155
+
(exam60 <- collect_dtx(exam60))
155
156
156
157
#### ATTENTION: Hint suivant = solution !####
157
158
```
158
159
159
160
```{r db1_h2-solution}
161
+
## Solution ##
160
162
exam60 <- filter(exam_db, age>=60)
161
163
# Affichez la requête SQL realisée
162
164
show_query(exam60)
163
165
# Collectez vos résultats
164
-
collect_dtx(exam60)
166
+
(exam60 <- collect_dtx(exam60))
165
167
```
166
168
167
169
```{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.")
169
171
```
170
172
171
173
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)
204
206
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 %->%.")
205
207
```
206
208
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`.
208
210
209
211
```{r db3_h2, exercise = TRUE}
210
212
___ %>.%
211
-
___(., ___) |> slice_sample(n = ___) %>.%
212
-
___(., ___) -> ___
213
+
___(., ___) |%>.%
214
+
slice_sample(., n = ___) %>.%
215
+
___(., ___) ->
216
+
exam_red
213
217
# Collecte du résultat
214
-
collect_dtx(___)
218
+
(exam_res <- collect_dtx(__))
215
219
```
216
220
217
221
```{r db3_h2-hint-1}
218
222
___ %>.%
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
222
227
# Collecte du résultat
223
-
collect_dtx(___)
228
+
(exam_res <- collect_dtx(exam_red))
224
229
225
230
#### ATTENTION: Hint suivant = solution !####
226
231
```
227
232
228
233
```{r db3_h2-solution}
229
234
## Solution ##
230
235
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
233
240
# Collecte du résultat
234
-
collect_dtx(exam_red)
241
+
(exam_res <- collect_dtx(exam_red))
235
242
```
236
243
237
244
```{r db3_h2-check}
238
245
grade_code("Nous allons pouvoir employer `exam_red` qui est une suite d'instruction afin de réaliser une requête plus complexe.")
239
246
```
240
247
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).
242
249
243
-
```{r db4_h2, exercise = TRUE}
250
+
```{r db4_h2, exercise=TRUE}
244
251
# Jointure, sélection et collecte
245
252
cholesterol %<-% ___(exam_red, select(___, ___, ___), by = "___")
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}.")
0 commit comments