Skip to content

Commit c238ced

Browse files
committed
Learnrs module 6 ready
1 parent 568c5d8 commit c238ced

File tree

4 files changed

+54
-52
lines changed

4 files changed

+54
-52
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: 2023.5.0
2+
Version: 2023.6.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: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,30 @@
1+
# BioDataScience1 2023.6.0
2+
3+
- Learnrs **A06La_recombination** and **A06Lb_multi-table** ready.
4+
15
# BioDataScience1 2023.5.0
26

3-
- Learnr A05La_wrangling ready.
7+
- Learnr **A05La_wrangling** ready.
48

59
# BioDataScience1 2023.4.1
610

7-
- Shiny application A04Ca_charts for ranking challenge results is added.
11+
- Shiny application **A04Ca_charts** for ranking challenge results is added.
812

913
# BioDataScience1 2023.4.0
1014

11-
- Learnrs A04La_barplot, A04Lb_boxplot and A04Lc_comp_fig ready.
15+
- Learnrs **A04La_barplot**, **A04Lb_boxplot** and **A04Lc_comp_fig** ready.
1216

1317
# BioDataScience1 2023.3.0
1418

15-
- Learnr A03La_univariate ready.
19+
- Learnr **A03La_univariate** ready.
1620

1721
# BioDataScience1 2023.2.0
1822

19-
- Learnrs A02La_base, A02Lb_progression and A02Lc_scatterplot ready.
23+
- Learnrs **A02La_base**, **A02Lb_progression** and **A02Lc_scatterplot* ready.
2024

2125
# BioDataScience1 2023.1.0
2226

23-
- Learnrs A00La_discovery, A01La_tools and A01Lb_git ready.
27+
- Learnrs **A00La_discovery**, **A01La_tools** and **A01Lb_git* ready.
2428

2529
# BioDataScience1 2023.0.0
2630

inst/tutorials/A06La_recombination/A06La_recombination.Rmd.inactive renamed to inst/tutorials/A06La_recombination/A06La_recombination.Rmd

Lines changed: 34 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ runtime: shiny_prerendered
1414

1515
```{r setup, include=FALSE}
1616
BioDataScience1::learnr_setup()
17-
SciViews::R()
17+
SciViews::R(lang = "fr")
1818
```
1919

2020
```{r, echo=FALSE}
@@ -35,17 +35,17 @@ BioDataScience1::learnr_server(input, output, session)
3535

3636
## De large vers long
3737

38-
Le format long d'un tableau de données correspond à un encodage en un minimum de colonnes, les données étant réparties sur un plus grand nombre de lignes en comparaison du format large qui regroupe les données dans plusieurs colonnes successives. Il est assez courant de devoir transformer un tableau large vers un tableau long. Cela permet souvent d'obtenir un tableau cas par variables correct. La fonction utile pour cela est la fonction `pivot_longer()` en version tidy, ou `spivot_longer()` en version speedy. Avec la fonction tidy, pensez bien à utiliser `collect_dtx()` ou les assignations alternatives `%<-%` ou `%->%` ensuite.
38+
Le format long d'un tableau de données correspond à un encodage en un minimum de colonnes, les données étant réparties sur un plus grand nombre de lignes en comparaison du format large qui regroupe les données dans plusieurs colonnes successives. Il est assez courant de devoir transformer un tableau large vers un tableau long. Cela permet souvent d'obtenir un tableau cas par variables correct. La fonction utile pour cela est `pivot_longer()` en version tidy, ou `spivot_longer()` en version speedy.
3939

4040
```{r, eval=FALSE, echo=TRUE}
41-
DF1 %<-% pivot_longer(DF, cols = SELECTION, names_to = NEWVAR1, values_to = NEWVAR2)
41+
DF1 <- spivot_longer(DF, cols = SELECTION, names_to = NEWVAR1, values_to = NEWVAR2)
4242
```
4343

4444
La fonction `pivot_longer()` ou `spivot_longer()` a les arguments suivants :
4545

46-
- `cols =` les variables qui doivent être pivotées
47-
- `names_to =` le nom de la nouvelle variable qui reprend le nom des colonnes pivotées.
48-
- `values_to =` le nom de la nouvelle variable qui reprend les valeurs des colonnes pivotées
46+
- `cols =` : les variables qui doivent être pivotées
47+
- `names_to =` : le nom de la nouvelle variable qui reprend le nom des colonnes pivotées
48+
- `values_to =` : le nom de la nouvelle variable qui reprend les valeurs des colonnes pivotées
4949

5050
```{r wide-init}
5151
time <- 1989:1995
@@ -58,26 +58,26 @@ long <- dtx(
5858
circumf = size
5959
)
6060
61-
wide %<-% pivot_wider(long, names_from = year, values_from = circumf)
62-
long1 %<-% pivot_longer(wide, cols = "1989":"1995", names_to = "year",
61+
wide <- spivot_wider(long, names_from = year, values_from = circumf)
62+
long1 <- spivot_longer(wide, cols = "1989":"1995", names_to = "year",
6363
values_to = "circumf")
6464
```
6565

66-
Sur base du tableau ci-dessous :
66+
Sur base du tableau `wide` ci-dessous :
6767

6868
```{r}
6969
knitr::kable(wide)
7070
```
7171

72-
Modifiez le tableau `wide` afin d'obtenir le tableau suivant que vous nommerez `long` :
72+
Modifiez ce tableau `wide` afin d'obtenir le tableau suivant que vous nommerez `long` :
7373

7474
```{r,}
7575
knitr::kable(long1)
7676
```
7777

7878
### Première variante de l'argument cols
7979

80-
Complétez le code afin d'obtenir le tableau `long` avec une fonction tidy.
80+
Complétez le code pour obtenir le tableau `long` avec une fonction tidy.
8181

8282
```{r wide-prep}
8383
time <- 1989:1995
@@ -90,23 +90,23 @@ long <- dtx(
9090
circumf = size
9191
)
9292
93-
wide %<-% pivot_wider(long, names_from = year, values_from = circumf)
93+
wide <- spivot_wider(long, names_from = year, values_from = circumf)
9494
```
9595

9696
```{r wide1_h3, exercise = TRUE, exercise.setup = "wide-prep"}
97-
___ %<-% ___(___, cols = "___":"___", names_to = "___",
97+
___ <- ___(___, cols = "___":"___", names_to = "___",
9898
values_to = "___")
9999
head(___)
100100
```
101101

102102
```{r wide1_h3-hint-1}
103-
long %<-% pivot_longer(wide, cols = "___":"___", names_to = "___",
103+
long <- pivot_longer(wide, cols = "___":"___", names_to = "___",
104104
values_to = "___")
105105
head(long)
106106
```
107107

108108
```{r wide1_h3-hint-2}
109-
long %<-% pivot_longer(wide, cols = "1989":"1995", names_to = "___",
109+
long <- pivot_longer(wide, cols = "1989":"1995", names_to = "___",
110110
values_to = "___")
111111
head(long)
112112
@@ -115,7 +115,7 @@ head(long)
115115

116116
```{r wide1_h3-solution}
117117
## Solution ##
118-
long %<-% pivot_longer(wide, cols = "1989":"1995", names_to = "year",
118+
long <- pivot_longer(wide, cols = "1989":"1995", names_to = "year",
119119
values_to = "circumf")
120120
head(long)
121121
```
@@ -158,13 +158,13 @@ grade_code("Cette variante est parfois plus pratique, surtout avec des grands ta
158158
Pour l'argument `cols =` vous pouvez aussi utiliser `start_with()` afin de sélectionner les colonnes dont le nom commence par une chaîne de caractères donnée pour le pivot. Créez à nouveau un tableau nommé `long` à partir du tableau `wide`. Utilisez à nouveau la fonction tidy ici.
159159

160160
```{r wide3_h2, exercise = TRUE, exercise.setup = "wide-prep"}
161-
___ %<-% ___(., cols = ___("___"), names_to = "___",
161+
___ <- ___(., cols = ___("___"), names_to = "___",
162162
values_to = "___")
163163
head(___)
164164
```
165165

166166
```{r wide3_h2-hint-1}
167-
long %<-% pivot_longer(wide, cols = starts_with("___"), names_to = "year",
167+
long <- pivot_longer(wide, cols = starts_with("___"), names_to = "year",
168168
values_to = "circumf")
169169
head(long)
170170
@@ -173,7 +173,7 @@ head(long)
173173

174174
```{r wide3_h2-solution}
175175
## Solution ##
176-
long %<-% pivot_longer(wide, cols = starts_with("19"), names_to = "year",
176+
long <- pivot_longer(wide, cols = starts_with("19"), names_to = "year",
177177
values_to = "circumf")
178178
head(long)
179179
```
@@ -187,13 +187,13 @@ grade_code("La sélection de variables à l'aide de `starts_with()` ou `ends_wit
187187
Il est plus rare de passer d'un tableau long vers un tableau large. Cela est souvent utilisé lorsque l'on souhaite transformer ce tableau afin de le rendre plus compact pour l'inclure dans un rapport ou dans une présentation. La fonction utile pour cette transformation est `pivot_wider()` (version tidy) ou `spivot_wider()`(version speedy).
188188

189189
```{r, eval=FALSE, echo=TRUE}
190-
DF1 %<-% pivot_wider(DF, names_from = VAR1, values_from = VAR2)
190+
DF1 <- spivot_wider(DF, names_from = VAR1, values_from = VAR2)
191191
```
192192

193-
La fonction `pivot_wider()` ou `spivot_wider()` requiert pour argument :
193+
La fonction `pivot_wider()` ou `spivot_wider()` requiert pour arguments :
194194

195-
- `names_from =` le nom de la variable dont les valeurs vont être employées comme les noms des nouvelles variables.
196-
- `values_from =` le nom de la variable dont les valeurs vont être employées comme les valeurs des nouvelles variables.
195+
- `names_from =` : le nom de la variable dont les valeurs vont être employées comme les noms des nouvelles variables.
196+
- `values_from =` : le nom de la variable dont les valeurs vont être employées comme les valeurs des nouvelles variables.
197197

198198
```{r long-init}
199199
gr_age <- c("Jeune", "Adulte","Senior")
@@ -208,7 +208,7 @@ demography <- dtx(
208208
population = popu
209209
)
210210
211-
demo %<-% pivot_wider(demography, names_from = year, values_from = population)
211+
demo <- spivot_wider(demography, names_from = year, values_from = population)
212212
```
213213

214214
Sur base du tableau ci-dessous :
@@ -240,20 +240,20 @@ demography <- dtx(
240240
Complétez l'instruction ci-dessous en utilisant une fonction tidy.
241241

242242
```{r long_h2, exercise=TRUE, exercise.setup="long-prep"}
243-
___ %<-% ___(___, names_from = ___, values_from = ___)
243+
___ <- ___(___, names_from = ___, values_from = ___)
244244
head(___)
245245
```
246246

247247
```{r long_h2-hint-1}
248-
demo %<-% pivot_wider(demography, names_from = ___, values_from = ___)
248+
demo <- pivot_wider(demography, names_from = ___, values_from = ___)
249249
head(demo)
250250
251251
#### Attention : solution dans le 'hint' suivant! ####
252252
```
253253

254254
```{r long_h2-solution}
255255
## Solution ##
256-
demo %<-% pivot_wider(demography, names_from = year, values_from = population)
256+
demo <- pivot_wider(demography, names_from = year, values_from = population)
257257
head(demo)
258258
```
259259

@@ -263,7 +263,7 @@ grade_code("Vous venez de réaliser un tableau large en partant d'un tableau lon
263263

264264
## Diviser des colonnes dans un tableau
265265

266-
La fonction à utiliser pour créer plusieurs variables en séparant les éléments qui se trouvent dans une seule colonne est `separate()` en tidy ou `sseparate()` en speedy. La fonction `unite()` ou `sunite()` est complémentaire de `separate()`/`sseparate()` et crée une variable à partir de plusieurs.
266+
La fonction à utiliser pour créer plusieurs variables en séparant les éléments qui se trouvent dans une seule colonne est `separate()` en tidy ou `sseparate()` en speedy. La fonction `unite()` ou `sunite()` est complémentaire de `separate()`/`sseparate()` et crée une seule variable à partir de plusieurs.
267267

268268
```{r, eval=FALSE, echo=TRUE}
269269
DF1 <- sseparate(DF, col = VARNAME, into = c("VAR1", "VAR2"),
@@ -272,11 +272,9 @@ DF1 <- sseparate(DF, col = VARNAME, into = c("VAR1", "VAR2"),
272272

273273
La fonction `separate()` ou `sseparate()` prend les arguments suivants :
274274

275-
- `col =` le nom de la variable à scinder
276-
- `into =` le nom des nouvelles variables
277-
- `sep =` le séparateur qui permet de scinder la variable sélectionnée en `col =`
278-
279-
Ici, nous utilisons la fonction speedy `sseparate()`. Si vous voulez utiliser la fonction tidy, vous devez d'abord convertir votre tableau en **data.frame** à l'aide de `as_dtf()` parce que la fonction `separate()` est boguée sur des **data.table**s.
275+
- `col =` : le nom de la variable à scinder
276+
- `into =` : le nom des nouvelles variables
277+
- `sep =` : le séparateur qui permet de scinder la variable sélectionnée en `col =`
280278

281279
```{r separate_init}
282280
bacteria <- dtx(
@@ -296,7 +294,7 @@ Sur base du tableau ci-dessous :
296294
knitr::kable(bacteria)
297295
```
298296

299-
Modifiez le tableau `bacteria` afin d'obtenir le tableau suivant que vous nommerez `bact` en utilisant une fonction speedy :
297+
Modifiez le tableau `bacteria` pour obtenir le tableau suivant que vous nommerez `bact` en utilisant une fonction speedy :
300298

301299
```{r}
302300
knitr::kable(bact)
@@ -334,12 +332,12 @@ head(bact)
334332
```
335333

336334
```{r separate_h2-check}
337-
grade_code("Vous venez de scinder une colonne de votre tableau avec `sseparate()`. Si vous utilisez `separate()` en version tidy sur le tableau tab, pensez bien à faire `separate(as_dtf(tab), ...)` pour contourner le bug.")
335+
grade_code("Vous venez de scinder une colonne de votre tableau avec `sseparate()`. Vous pouvez également utiliser `separate()` en tidy.")
338336
```
339337

340338
## Conclusion
341339

342-
Félicitation ! Vous êtes maintenant capables de convertir des tableaux de long en large et inversement et de scinder des variables.
340+
Félicitation ! Vous êtes maintenant capables de convertir des tableaux de long en large et inversement et de scinder des variables.
343341

344342
```{r comm_noscore, echo=FALSE}
345343
question_text(

inst/tutorials/A06Lb_multi_table/A06Lb_multi_table.Rmd.inactive renamed to inst/tutorials/A06Lb_multi_table/A06Lb_multi_table.Rmd

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ BioDataScience1::learnr_server(input, output, session)
3131

3232
## Combinaison de deux tableaux
3333

34-
Il y a plusieurs fonction qui permettent de fusionner des tableaux. Nous vous proposons d'employer `*_join()` comme `full_join()`/`sfull_join()`, `inner_join()`/`sinner_join()`, `left_join()`/`sleft_join()`, `right_join()`/`sright_join()`. Attention ! Les fonctions tidy non préfixées d'un "s" nécessitent des précautions pour **collecter** les résultats à la fin (utilisation de `collect_dtx()` ou les assignations alternatives `%<-%` ou `%->%`).
34+
Il existe plusieurs fonctions qui permettent de fusionner des tableaux. Nous vous proposons d'employer `*_join()` comme `full_join()`/`sfull_join()`, `inner_join()`/`sinner_join()`, `left_join()`/`sleft_join()`, `right_join()`/`sright_join()`.
3535

3636
```{r, eval=FALSE, echo=TRUE}
3737
DF <- (s)full_join(DF1, DF2, by = VAR)
@@ -43,9 +43,9 @@ DF <- (s)right_join(DF1, DF2, by = VAR)
4343
Ces quatre paires de fonctions utilisent la syntaxe suivante :
4444

4545
- les deux premiers arguments de la fonction sont les tableaux de données 1 et 2 qui doivent être fusionnés.
46-
- `by =` le nom de la ou des variables qui permettent de lier les deux tableaux.
46+
- `by =` : le nom de la ou des variables qui permettent de lier les deux tableaux.
4747

48-
Soyez particulièrement attentif lors des exercices ci-dessous, les fonctions utilisées semble similaire mais les différences peuvent grandement changer les résultats de la fusion de tableaux.
48+
Soyez particulièrement attentif lors des exercices ci-dessous, les fonctions utilisées semblent similaires mais les différences peuvent grandement changer les résultats de la fusion de tableaux.
4949

5050
Des chercheurs réalisent une expérience avec plusieurs aquariums expérimentaux. Ils ont encodé les données dans deux tableaux distincts. Le premier tableau contient la variation de la température et de la salinité dans ces aquariums. Le second tableau reprend à la masse de l'organisme placé dans l'aquarium.
5151

@@ -97,13 +97,13 @@ weight <- dtx(
9797
weight = rnorm(n = 5L, mean = 1.5, sd = 0.5))
9898
```
9999

100-
```{r join1_h2, exercise = TRUE, exercise.setup = "join_prep"}
100+
```{r join1_h2, exercise=TRUE, exercise.setup="join_prep"}
101101
___ <- ___(___, ___, by = "___")
102102
knitr::kable(___)
103103
```
104104

105105
```{r join1_h2-hint-1}
106-
___ %<-% ___(physico, weight, by = "aqua")
106+
___ <- ___(physico, weight, by = "aqua")
107107
knitr::kable(___)
108108
109109
#### Attention : solution dans le 'hint' suivant! ####
@@ -128,21 +128,21 @@ sleft_join(physico, weight, by = "aqua") %>.%
128128
knitr::kable(.)
129129
```
130130

131-
```{r join2_h2, exercise = TRUE, exercise.setup = "join_prep"}
132-
___ %<-% ___(___, ___, by = "___")
131+
```{r join2_h2, exercise=TRUE, exercise.setup="join_prep"}
132+
___ <- ___(___, ___, by = "___")
133133
knitr::kable(___)
134134
```
135135

136136
```{r join2_h2-hint-1}
137-
___ %<-% ___(physico, weight, by = "aqua")
137+
___ <- ___(physico, weight, by = "aqua")
138138
knitr::kable(___)
139139
140140
#### Attention : solution dans le 'hint' suivant! ####
141141
```
142142

143143
```{r join2_h2-solution}
144144
## Solution ##
145-
ph_weight %<-% left_join(physico, weight, by = "aqua")
145+
ph_weight <- left_join(physico, weight, by = "aqua")
146146
knitr::kable(ph_weight)
147147
```
148148

0 commit comments

Comments
 (0)