Skip to content

Commit 8f32a85

Browse files
committed
Learnrs **B07La_pca** and **B07Lb_ca** revised for 2023-2024.
1 parent 59403b0 commit 8f32a85

File tree

4 files changed

+39
-31
lines changed

4 files changed

+39
-31
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: 2023.6.0
2+
Version: 2023.7.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: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
# BioDataScience2 2023.7.0
2+
3+
- Learnrs **B07La_pca** and **B07Lb_ca** revised for 2023-2024.
4+
15
# BioDataScience2 2023.6.0
26

3-
- Learnrs **B06La_ahc** and **B06La_kmeans** revised for 2023-2024.
7+
- Learnrs **B06La_ahc** and **B06Lb_kmeans** revised for 2023-2024.
48

59
# BioDataScience2 2023.5.0
610

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

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ runtime: shiny_prerendered
1313

1414
```{r setup, include=FALSE}
1515
BioDataScience2::learnr_setup()
16-
SciViews::R("explore")
16+
SciViews::R("explore", lang = "fr")
1717
18-
# Preparation of the dataset ------
18+
# Preparation du jeu de données
1919
read("penguins", package = "palmerpenguins", lang = "fr") %>.%
20-
sdrop_na(., bill_length_mm) %->%
20+
sdrop_na(., bill_length) ->
2121
penguins
2222
```
2323

@@ -37,28 +37,28 @@ L'Analyse en Composantes Principales (ACP) est une méthode statistique explorat
3737

3838
- Réaliser de manière guidée une ACP
3939

40-
- Effectuer les graphiques associées à cette analyse
40+
- Effectuer les graphiques relatifs à cette analyse
4141

4242
- Vous préparer à interpréter par vous-même les résultats de vos ACP
4343

44-
Avant toute chose, assurez vous d'avoir bien compris le contenu du [module 7](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2022/acp-afc.html) du cours et en particulier la [section 7.1](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2022/analyse-en-composantes-principales.html).
44+
Avant toute chose, assurez-vous d'avoir bien compris le contenu du [module 7](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2023/acp-afc.html) du cours et en particulier la [section 7.1](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2023/analyse-en-composantes-principales.html).
4545

46-
## Manchots de l'Antarctique
46+
## Manchots en Antarctique
4747

48-
Trois espèces de manchots ont été étudié en Antarctique entre 2007 et 2009 par le Docteur Kristen Gorman de la base antarctique Palmer. Les manchots ont été étudié sur l'île du Rêve (`Dream`), sur l'île de Torgersen (`Torgersen`) et sur île Biscoe (`Biscoe`). Les espèces étudiées sont le manchot Papou *Pygoscelis papua* (Forster, 1781), `Gentoo`, le manchot Adélie *Pygoscelis adlidae* (Hombron & Jacquinot, 1841), `Adelie` et les manchots à jugulaire *Pygoscelis antarcticus* (Forster, 1781), `Chinstrap`.
48+
Trois espèces de manchots ont été étudiés en Antarctique entre 2007 et 2009 par le Docteur Kristen Gorman de la base antarctique Palmer. Les manchots ont été observés sur l'île du Rêve (`Dream`), sur l'île de Torgersen (`Torgersen`) et sur l'île Biscoe (`Biscoe`). Les espèces étudiées sont le manchot Papou *Pygoscelis papua* (Forster, 1781) `Gentoo`, le manchot Adélie *Pygoscelis adlidae* (Hombron & Jacquinot, 1841) `Adelie` et le manchot à jugulaire *Pygoscelis antarcticus* (Forster, 1781) `Chinstrap`.
4949

50-
![Couple de manchots adélies avec son petit à droite et un manchot à jugulaire (gentoo) à gauche. Photo de J. Auch, license creative commons 2.0 generic.](images/adelie_and_gentoo.jpg)
50+
![Couple de manchots adélies avec son petit à droite et un manchot à jugulaire (gentoo) à gauche. Photo de J. Auch, licence creative commons 2.0 generic.](images/adelie_and_gentoo.jpg)
5151

5252
```{r, echo=TRUE}
5353
penguins <- read("penguins", package = "palmerpenguins")
5454
skimr::skim(penguins)
5555
```
5656

57-
Le jeu de données nommé `penguins` ici contient trois variables facteurs : l'espèce, l'île doù les individus proviennent et leur sexe. Il contient aussi quatre variables biométriques : la longueur du bec (mm), la largeur du bec (mm), la longueur de la nageoire (mm) et la masse (g). Les années de mesures sont recensées dans la variable `year`.
57+
Le jeu de données nommé `penguins` ici contient trois variables facteurs : l'espèce, l'île d'où les individus proviennent et leur sexe. Il contient aussi quatre variables biométriques : la longueur du bec (mm), la largeur du bec (mm), la longueur de la nageoire (mm) et la masse (g). Les années des mesures sont enregistrées dans la variable `year`.
5858

5959
```{r, echo=TRUE}
6060
naniar::vis_miss(penguins) # Visualiser les données manquantes
61-
penguins <- sdrop_na(penguins, bill_length_mm) # Éliminer les lignes vides
61+
penguins <- sdrop_na(penguins, bill_length) # Éliminer les lignes vides
6262
```
6363

6464
La variable sexe a quelques valeurs manquantes, mais comme elle ne sera pas utilisée dans cette analyse (l'ACP utilise en effet des variables quantitatives uniquement), nous n'éliminons **pas** les lignes qui contiennent des valeurs manquantes pour cette variable. Nous ne supprimons que les valeurs manquantes observées pour `bill_length_mm`.
@@ -89,14 +89,14 @@ plot(peng_corr)
8989
grade_code("Par défaut, la fonction correlation() utilise la méthode de Pearson qui met en avant les corrélations linéaires, celles précisément qui nous intéressent pour l'ACP. Nous observons des corrélations positives en bleu entre la longueur du bec, de la nageoire et la masse. Par contre, la largeur du bec est inversément corrélée à ces trois autres variables.")
9090
```
9191

92-
### Linearisation éventuelle
92+
### Linéarisation éventuelle
9393

9494
Avant de réaliser une ACP, on vérifie aussi si les relations entre les variables sont linéaires ou à peu près linéaires. Cela se voit sur un graphique en nuage de points. Nous pouvons réaliser des graphiques entre différentes paires de variables ou alors utiliser une matrice de nuage de points.
9595

9696
Avec des données biométriques, le nuage de points a fréquemment une forme curvilinéaire qui se linéarise par une transformation en double logarithme (logarithme des deux variables), comme pour le jeu de données `urchins` par exemple. **Si vous observez cela, une linéarisation par transformation des données est à appliquer avant d'effectuer l'ACP.**
9797

9898
```{r scatterplot1, echo=TRUE}
99-
chart(data = penguins, body_mass_g ~ flipper_length_mm) +
99+
chart(data = penguins, body_mass ~ flipper_length) +
100100
geom_point()
101101
```
102102

@@ -109,20 +109,20 @@ chart(data = penguins, ___ ~ ___) +
109109

110110
## ACP
111111

112-
Calculez maintenant votre analyse en composantes principales sur le jeu de données `penguins`. Sélectionnez uniquement les variables numériques intéressantes. L'année de la mesure n'est pas une variable intéressante pour réaliser l'ACP. Les variables biométriques ont des unités différentes. Il est donc plus judicieux de standardiser les valeurs.
112+
Calculez maintenant votre analyse en composantes principales sur le jeu de données `penguins`. Sélectionnez uniquement les variables numériques intéressantes. L'année de la mesure n'est pas une variable intéressante pour réaliser l'ACP. Les variables biométriques ont des unités différentes. Il est donc judicieux de standardiser les données.
113113

114114
```{r pca_h2, exercise=TRUE, exercise.lines=6}
115115
___ %>.%
116116
sselect(., ___:___) %>.%
117-
pca(., scale = ___) %->%
117+
pca(., scale = ___) ->
118118
penguins_pca
119119
summary(penguins_pca)
120120
```
121121

122122
```{r pca_h2-hint-1}
123123
___ %>.%
124124
sselect(., ___:___) %>.%
125-
pca(., scale = TRUE) %->%
125+
pca(., scale = TRUE) ->
126126
penguins_pca
127127
summary(penguins_pca)
128128
@@ -133,7 +133,7 @@ summary(penguins_pca)
133133
## Solution ##
134134
penguins %>.%
135135
sselect(., 3:6) %>.%
136-
pca(., scale = TRUE) %->%
136+
pca(., scale = TRUE) ->
137137
penguins_pca
138138
summary(penguins_pca)
139139
```
@@ -148,7 +148,7 @@ question("Quelle est la proportion cumulée de la variance des deux premières c
148148
answer("0.19"),
149149
answer("0.88", correct = TRUE),
150150
allow_retry = TRUE,
151-
correct = "C'est exact ! La variance cumulée des deux premiers axes correspond à 88%. Ces deux premiers axes forment donc un plan qui représente bien l'information du jeu de données. La première composante contient déjà plus de 69% de la variance.",
151+
correct = "La variance cumulée sur les deux premiers axes correspond à 88%. Ces deux premiers axes forment donc un plan qui représente bien l'information du jeu de données. La première composante contient déjà plus de 69% de la variance.",
152152
incorrect = "La proportion de la variance et la proportion de la variance cumulée se trouve dans le tableau `Importance of components`."
153153
)
154154
```
@@ -160,7 +160,7 @@ Réalisez un graphique des éboulis sur l'objet `penguins_pca` que vous avez ré
160160
```{r pca_prep}
161161
penguins %>.%
162162
sselect(., 3:6) %>.%
163-
pca(., scale = TRUE) %->%
163+
pca(., scale = TRUE) ->
164164
penguins_pca
165165
```
166166

@@ -180,7 +180,7 @@ chart$scree(penguins_pca)
180180
```
181181

182182
```{r scree_h2-check}
183-
grade_code("Vous venez de réaliser le graphique des éboulis associé à votre ACP. Ce graphique permet de voir la part de variance exprimée par chaque composante principale. Nous voyons bien que le premier axe reprend une très grande part de variance et que l'ensemble des deux premiers axes en cumulent une part suffisante.")
183+
grade_code("Le graphique des éboulis permet de voir la part de variance exprimée par chaque composante principale. Nous voyons bien que le premier axe reprend une très grande part de variance et que l'ensemble des deux premiers axes en cumulent une part suffisante.")
184184
```
185185

186186
### Représentation des variables
@@ -203,7 +203,7 @@ chart$loadings(penguins_pca, choices = c(1, 2))
203203
```
204204

205205
```{r loadings_h2-check}
206-
grade_code("Ce graphique permet de visualiser l'importance des variables intiales dans le plan de l'ACP sous forme de vecteurs. Il est indispensable pour interpréter le graphique suivant qui répartit les observations dans le même plan. La norme (longueur) du vecteur indique si la variable est bien représentée dans ce plan ou non. Plus la norme du vecteur se rapproche de un, matérialisé par le cercle, mieux c'est. Ici, les 4 variables sont bien représentées avec des normes supérieures ou égales à 0.5. Celles aux normes trop faibles ne sont pas considérées dans l'analyse pour ce plan-là en tous cas. Ensuite, les variables qui pointent dans la même direction sont corrélées positivement comme la longueur de la nageoire et la masse. Les variables qui pointent dans le sens opposé sont inversément corrélées (il n'y en a pas ici). Les vecteurs orthogonaux correspondent à des variables non ou très faiblement corrélées entre elles, comme la largeur du bec et la masse.")
206+
grade_code("Ce graphique permet de visualiser l'importance des variables intiales dans le plan de l'ACP sous forme de vecteurs. Il est indispensable pour interpréter le graphique suivant qui répartit les observations dans le même plan. La norme (longueur) du vecteur indique si la variable est bien représentée dans ce plan ou non. Plus la norme du vecteur se rapproche de un, matérialisé par le cercle gris, mieux c'est. Ici, les quatre variables sont bien représentées avec des normes supérieures ou égales à 0.5. Celles aux normes trop faibles ne sont pas considérées dans l'analyse pour ce plan-là en tous cas. Ensuite, les variables qui pointent dans la même direction sont corrélées positivement comme la longueur de la nageoire et la masse. Les variables qui pointent dans le sens opposé sont inversément corrélées (il n'y en a pas ici). Les vecteurs orthogonaux correspondent à des variables non ou très faiblement corrélées entre elles, comme la largeur du bec et la masse.")
207207
```
208208

209209
### Représentation des individus
@@ -229,7 +229,7 @@ chart$scores(penguins_pca, choices = c(1, 2), labels = penguins$species) +
229229
```
230230

231231
```{r scores_h2-check}
232-
grade_code("La forme du nuage de points et surtout des sous-groupes sont à rechercher ici. Nous voyons clairement une séparation des manchots `Gentoo` par rapport aux autres. Ce graphique peut s'interpréter par rapport au précédent qui proposait une clé de lecture. Les manchots `Chinstrap` ont des becs plus long que les manchots `Adelie` (partie basse du graphique). Les manchots `Gentoo` sont plus gros que les manchots `Adelie` et `Chinstrap` et ont des nageoires plus longues (droite du graphique).")
232+
grade_code("La forme du nuage de points et surtout des sous-groupes sont à rechercher ici. Nous voyons clairement une séparation des manchots `Gentoo` par rapport aux autres. Ce graphique peut s'interpréter par rapport au précédent qui offre une clé de lecture. Les manchots `Chinstrap` ont des becs plus long que les manchots `Adelie` (partie basse du graphique). Les manchots `Gentoo` sont plus gros que les manchots `Adelie` et `Chinstrap` et ont des nageoires plus longues (droite du graphique).")
233233
```
234234

235235
## Interprétation de l'ACP
@@ -238,12 +238,12 @@ Voici les deux représentations dans l'espace des variables et des individus dan
238238

239239
```{r}
240240
read("penguins", package = "palmerpenguins", lang = "fr") %>.%
241-
sdrop_na(., bill_length_mm) %->%
241+
sdrop_na(., bill_length) ->
242242
penguins
243243
244244
penguins %>.%
245245
sselect(., 3:6) %>.%
246-
pca(., scale = TRUE) %->%
246+
pca(., scale = TRUE) ->
247247
penguins_pca
248248
249249
a <- chart$loadings(penguins_pca, choices = c(1, 2))
@@ -252,7 +252,7 @@ b <- chart$scores(penguins_pca, choices = c(1, 2), labels = penguins$species) +
252252
combine_charts(list(a, b))
253253
```
254254

255-
Le premier axe reprend 69% de la variance totale et ce sont les variables masse et longueur de nageoire qui sont les plus corrélées à cet axe avec les valeurs élevées pointant vers la droite des graphiques. En y projetant les individus, deux sous-groupes s'individualisent principalement selon ce premier axe. Ainsi, les manchots papous (gentoo) sont plus gros et ont de plus longues nageoires que les deux autres espèces.
255+
Le premier axe reprend 69% de la variance totale et ce sont les variables masse et longueur de nageoire qui sont les plus corrélées à cet axe avec les valeurs élevées pointant vers la droite des graphiques. En y projetant les individus, deux sous-groupes se séparent principalement selon ce premier axe. Ainsi, les manchots papous (gentoo) sont plus gros et ont de plus longues nageoires que les deux autres espèces.
256256

257257
Le second axe ne représente que 19% de la variance. Il est plutôt associé à la longueur et largeur du bec, avec des valeurs plus élevées dans le bas des graphiques. Les manchots adélies et à jugulaires (chinstrap) se différencient, quoique incomplètement, par cette longueur de bec plus importante chez chinstrap.
258258

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

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

1515
```{r setup, include=FALSE}
1616
BioDataScience2::learnr_setup()
17-
SciViews::R("explore")
17+
SciViews::R("explore", lang = "fr")
1818
1919
# caith -----
2020
caith <- read("caith", package = "MASS")
@@ -42,7 +42,7 @@ L'Analyse Factorielle des Correspondances (AFC) est une variante de l'Analyse en
4242

4343
- Vous préparer à interpréter par vous-même les résultats de vos AFC
4444

45-
Avant toute chose, assurez-vous d'avoir bien compris le contenu du [module 7](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2022/acp-afc.html) du cours et en particulier la [section 7.3](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2022/analyse-factorielle-des-correspondances.html).
45+
Avant toute chose, assurez-vous d'avoir bien compris le contenu du [module 7](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2023/acp-afc.html) du cours et en particulier la [section 7.3](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2023/analyse-factorielle-des-correspondances.html).
4646

4747
## Couleur des yeux et des cheveux
4848

@@ -74,16 +74,17 @@ caith_df
7474
```
7575

7676
```{r dtf-solution}
77+
## Solution ##
7778
caith_df <- as_dtf(caith)
7879
# Afficher le tableau
7980
caith_df
8081
```
8182

8283
```{r dtf-check}
83-
grade_code("La conversion du tableau en `data.frames` est simple avec la fonction `as_dtf()`. Par defaut, la fonction reconnait la colonne `.rownames` et la converti en nom de lignes. Si la colonne à transformer en nom des lignes porte un autre nom que `.rownames`, alors vous pouvez utiliser l'argument `rownames =` pour indiquer quelle colonne utiliser.")
84+
grade_code("La conversion du tableau en `data.frame` est simple avec la fonction `as_dtf()`. Par defaut, la fonction reconnait la colonne `.rownames` et la converti en nom de lignes. Si la colonne à transformer en nom des lignes porte un autre nom que `.rownames`, alors vous pouvez utiliser l'argument `rownames =` pour indiquer quelle colonne utiliser.")
8485
```
8586

86-
## Réalisation de l'ACF
87+
## Réalisation de l'AFC
8788

8889
Réalisez à présent une analyse factorielle des correspondances sur l'objet `caith_df` et nommez-la `caith_ca`. Réalisez ensuite le résumé de ce dernier objet.
8990

@@ -102,6 +103,7 @@ ___(caith_ca)
102103
```
103104

104105
```{r ca_h2-solution}
106+
## Solution ##
105107
# AFC
106108
caith_ca <- ca(caith_df)
107109
# Résumé de l'objet
@@ -112,13 +114,14 @@ summary(caith_ca)
112114
grade_code("Le code est simple. Le résumé de l'objet met en avant qu'avec les deux premiers axes on couvre 99.6% de la variance. Le premier axe couvre déjà plus de 86%. L'essentiel de l'information se lira donc dans le premier plan de projection.")
113115
```
114116

115-
Réalisez le graphique des éboulis de votre analyse.
117+
Tracez le graphique des éboulis de votre analyse.
116118

117119
```{r scree, exercise=TRUE}
118120
___$___()
119121
```
120122

121123
```{r scree-solution}
124+
## Solution ##
122125
chart$scree(caith_ca)
123126
```
124127

@@ -133,6 +136,7 @@ ___$___()
133136
```
134137

135138
```{r biplot-solution}
139+
## Solution ##
136140
chart$biplot(caith_ca)
137141
```
138142

0 commit comments

Comments
 (0)