Skip to content

Commit 842e1c3

Browse files
tutorial 01a-reg_lin first questions
1 parent 2f40e10 commit 842e1c3

File tree

9 files changed

+606
-0
lines changed

9 files changed

+606
-0
lines changed
8.68 KB
Loading
10 KB
Loading
8.23 KB
Loading
11.4 KB
Loading
8.34 KB
Loading
Lines changed: 276 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,276 @@
1+
---
2+
title: "Rappel"
3+
author: "Guyliann Engels & Philippe Grosjean"
4+
output:
5+
learnr::tutorial
6+
tutorial:
7+
id: "sdd2.01a"
8+
version: 0.0.1
9+
runtime: shiny_prerendered
10+
---
11+
12+
```{r setup, include=FALSE}
13+
library(learnr)
14+
library(knitr)
15+
SciViews::R()
16+
library(BioDataScience)
17+
18+
options(tutorial.event_recorder = BioDataScience::record_sdd)
19+
tutorial_options(exercise.checker = BioDataScience::checker_sdd)
20+
tutorial_options(exercise.timelimit = 60)
21+
tutorial_options(exercise.cap = "Code R")
22+
knitr::opts_chunk$set(echo = FALSE, comment = NA)
23+
```
24+
25+
```{r, echo=FALSE}
26+
fixedRow(
27+
column(9, div(
28+
img(src = 'images/BioDataScience-128.png', align = "left"),
29+
h1("Science des données biologiques 2"),
30+
"Réalisé par le service d'Écologie numérique des Milieux aquatiques, Université de Mons (Belgique)"
31+
)),
32+
column(3, div(
33+
textInput("user", "Utilisateur :", ""),
34+
textInput("email", "Email :", "")
35+
))
36+
)
37+
textOutput("user") # This is newer shown, but required to trigger an event!
38+
textOutput("email") # Idem!
39+
```
40+
41+
```{r, context="server"}
42+
output$user <- renderText({BioDataScience::user_name(input$user);""})
43+
output$email <- renderText({BioDataScience::user_email(input$email);""})
44+
updateTextInput(session, "user", value = BioDataScience::user_name())
45+
updateTextInput(session, "email", value = BioDataScience::user_email())
46+
```
47+
48+
## Préambule
49+
50+
Si vous n'avez jamais utilisé de tutoriel "learnr", familiarisez-vous d'abord avec son interface [ici](http://biodatascience-course.sciviews.org/sdd-umons/learnr.html).
51+
52+
![](images/attention.jpg)
53+
54+
**Ne vous trompez pas dans votre adresse mail et votre identifiant Github**
55+
56+
**N'oubliez pas de soumettre votre réponse après chaque exercice**
57+
58+
> Conformément au RGPD ([Règlement Général sur la Protection des Données](https://ec.europa.eu/info/law/law-topic/data-protection/reform/rules-business-and-organisations/principles-gdpr_fr)), nous sommes tenus de vous informer de ce que vos résultats seront collecté afin de suivre votre progression. **Les données seront enregistrées au nom de l'utilisateur apparaissant en haut de cette page. Corrigez si nécessaire !** En utilisant ce tutoriel, vous marquez expressément votre accord pour que ces données puissent être collectées par vos enseignants et utilisées pour vous aider et vous évaluer. Après avoir été anonymisées, ces données pourront également servir à des études globales dans un cadre scientifique et/ou éducatif uniquement.
59+
60+
## Corrélation
61+
62+
63+
64+
```{r corr1-init}
65+
min <- 5
66+
max <- 15
67+
68+
df <- tibble(
69+
x = seq(from = min, to = max, by = 0.25),
70+
y = x*2 + rnorm(sd= 0.5, n = length(x)),
71+
z = 2^x + rnorm(sd= 50, n = length(x)),
72+
a = sin(x) + rnorm(sd = 0.25, n = length(x))
73+
)
74+
75+
#GGally::ggscatmat(as.data.frame(df), 1:4)
76+
#correlation(df, method = "pearson")
77+
#correlation(df, method = "spearman")
78+
```
79+
80+
Vous avez à disposition le jeu de données `df` qui comprend les `r length(names(df))` variables suivantes : `r names(df)`.
81+
82+
- Réalisez une matrice de correlation avec l'indice de Pearson.
83+
84+
```{r corr1-prep}
85+
# duplicated chunk : corr1-init
86+
min <- 5
87+
max <- 15
88+
89+
df <- tibble(
90+
x = seq(from = min, to = max, by = 0.25),
91+
y = x*2 + rnorm(sd= 0.5, n = length(x)),
92+
z = 2^x + rnorm(sd= 50, n = length(x)),
93+
a = sin(x) + rnorm(sd = 0.25, n = length(x))
94+
)
95+
96+
#correlation(df[1:4])
97+
#correlation(df[1:4], method = "spearman")
98+
```
99+
100+
```{r corr1, exercise = TRUE, exercise.setup =" corr1-prep"}
101+
102+
```
103+
104+
```{r corr1-hint-1}
105+
# snippet mis à disposition
106+
correlation(DF[, INDEX_EXPRESSION], use = "complete.obs", method = "pearson")
107+
```
108+
109+
```{r corr1-hint-2}
110+
correlation(df[, INDEX_EXPRESSION], use = "complete.obs", method = "pearson")
111+
```
112+
113+
```{r corr1-solution}
114+
correlation(df[, 1:4], use = "complete.obs", method = "pearson")
115+
```
116+
117+
```{r corr1-check}
118+
# TODO
119+
```
120+
121+
Répondez à la question ci-dessous
122+
123+
```{r qu_corr1}
124+
question("Quelles sont les combinaisons de variables les plus corrélées ?",
125+
answer("x-y", correct = TRUE),
126+
answer("x-z"),
127+
answer("x-a"),
128+
answer("y-z"),
129+
answer("y-a"),
130+
answer("z-a"),
131+
allow_retry = TRUE, random_answer_order = TRUE)
132+
```
133+
134+
- Réalisez une matrice de correlation avec la méthode de Spearman
135+
136+
```{r corr2, exercise = TRUE, exercise.setup =" corr1-prep"}
137+
138+
```
139+
140+
```{r corr2-hint-1}
141+
# snippet mis à disposition
142+
correlation(DF[, INDEX_EXPRESSION], use = "complete.obs", method = "pearson")
143+
```
144+
145+
```{r corr2-hint-2}
146+
correlation(df[, INDEX_EXPRESSION], use = "complete.obs", method = "pearson")
147+
```
148+
149+
```{r corr2-solution}
150+
correlation(df[, 1:4], use = "complete.obs", method = "spearman")
151+
```
152+
153+
```{r corr2-check}
154+
# TODO
155+
```
156+
157+
Répondez à la question ci-dessous
158+
159+
```{r qu_corr2}
160+
question("Quelles sont les combinaisons de variables les moins corrélées ?",
161+
answer("x-y"),
162+
answer("x-z"),
163+
answer("x-a"),
164+
answer("y-z"),
165+
answer("y-a"),
166+
answer("z-a", correct = TRUE),
167+
allow_retry = TRUE, random_answer_order = TRUE)
168+
```
169+
170+
- Reproduisez le graphique ci-dessous en vous basant sur vos matrices réalisées précédements
171+
172+
```{r, echo = F}
173+
plot(correlation(df[, 1:4], use = "complete.obs", method = "spearman"), type = "upper")
174+
```
175+
176+
```{r corr3, exercise = TRUE, exercise.setup =" corr1-prep"}
177+
178+
```
179+
180+
```{r corr3-hint-1}
181+
plot(correlation(df[, 1:4], use = "complete.obs", method = "spearman"))
182+
```
183+
184+
```{r corr3-solution}
185+
plot(correlation(df[, 1:4], use = "complete.obs", method = "spearman"), type = "upper")
186+
```
187+
188+
```{rcorr3-check}
189+
# TODO
190+
```
191+
192+
193+
## Homoscédasicité
194+
195+
```{r homo-init}
196+
x <- seq(from = 5, to = 15, by = 0.25)
197+
198+
a <- x*1 + 3 + rnorm(sd = 0.5, n = length(x))
199+
b <- x*1.1 + 3 + rnorm(sd = 0.5, n = length(x))
200+
c <- x*1.2 + 3 + rnorm(sd = 0.5, n = length(x))
201+
202+
area <- as.factor(rep(c("a", "b", "c"), each = length(x)))
203+
204+
df <- tibble(
205+
x = c(x,x,x),
206+
value = c(a,b,c),
207+
area = area
208+
)
209+
```
210+
211+
Vous avez à votre disposition le jeu de données `df` qui comprend les variables suivantes : `r names(df)` . Un nuage de points est mis à votre disposition afin de visualiser la variation de `value` en fonction de `x`
212+
213+
```{r}
214+
chart(df, value ~ x) +
215+
geom_point()
216+
217+
#bartlett.test(data = df, value ~ x)
218+
```
219+
220+
Réalisez un test de bartlett afin de mettre en avant l'homogénéité de la variance ou non.
221+
222+
```{r homo-prep}
223+
x <- seq(from = 5, to = 15, by = 0.25)
224+
225+
a <- x*1 + 3 + rnorm(sd = 0.5, n = length(x))
226+
b <- x*1.1 + 3 + rnorm(sd = 0.5, n = length(x))
227+
c <- x*1.2 + 3 + rnorm(sd = 0.5, n = length(x))
228+
229+
area <- as.factor(rep(c("a", "b", "c"), each = length(x)))
230+
231+
df <- tibble(
232+
x = c(x,x,x),
233+
value = c(a,b,c),
234+
area = area
235+
)
236+
```
237+
238+
```{r homo, exercise = TRUE, exercise.setup = "homo-prep"}
239+
240+
```
241+
242+
```{r homo-hint}
243+
# snippet
244+
bartlett.test(data = DF, YNUM ~ XFACTOR)
245+
```
246+
247+
```{r homo-solution}
248+
# snippet
249+
bartlett.test(data = df, value ~ x)
250+
```
251+
252+
```{r homo-check}
253+
# TODO
254+
```
255+
256+
```{r qu_homo}
257+
question("D'après votre analyse, pouvons nous considérer qu'il y a ...",
258+
answer("homoscédasticité"),
259+
answer("hétéroscédasticité"))
260+
```
261+
262+
263+
## Conclusion
264+
265+
Vous venez de terminer votre séance d'exercice.
266+
267+
Laissez nous vos impressions sur cet outil pédagogique ou expérimentez encore dans la zone ci-dessous. Rappelez-vous que pour placer un commentaire dans une zone de code R, vous devez utilisez un dièse (`#`) devant vos phrases.
268+
269+
```{r comm, exercise=TRUE, exercise.lines = 8}
270+
# Ajout de commentaires
271+
# ...
272+
```
273+
274+
```{r comm-check}
275+
# Not yet...
276+
```

0 commit comments

Comments
 (0)