55 learnr::tutorial
66tutorial :
77 id : " sdd2.02a"
8- version : 0.1 .0
8+ version : 1.0 .0
99runtime : shiny_prerendered
1010---
1111
@@ -152,8 +152,8 @@ quiz(
152152 allow_retry = TRUE, random_answer_order = TRUE
153153 ),
154154 question(text = "Quelle est la valeur de la pente ?",
155- answer(sprintf("%.2f", 0), correct = TRUE ),
156- answer(sprintf("%.2f", lm_lin_result$estimate[1])),
155+ answer(sprintf("%.2f", 0)),
156+ answer(sprintf("%.2f", lm_lin_result$estimate[1]), correct = TRUE ),
157157 answer(sprintf("%.2f", lm_lin_param$BIC[1])),
158158 answer(sprintf("%.2f", lm_lin_param$AIC[1])),
159159 answer(sprintf("%.2f", lm_lin_param$r.squared[1])),
@@ -176,39 +176,106 @@ quiz(
176176# edition de l'exercice
177177set.seed(42)
178178
179+ vec <- seq(from = 1, to = 15, by = .2)
180+ x <- vec + rnorm(sd = 3, n = length(vec))
179181
180- a <- seq(from = 100, to = 500)
181- random <- rnorm(n = length(a), sd = 50)
182- x <- a + random
183- x0 <- x + rnorm(n = length(x))
184- x1 <- 1/x
185- x2 <- log(x)
186- x3 <- exp(x)
187- x4 <- sin(x)
188- x5 <- cos(x)
182+ reg_lin_rand <- function(x, a, b, random = 0.5){
183+ y <- (a*x) + b + rnorm(sd=random, n = length(x))
184+ y
185+ }
186+ reg_mutli3_rand <- function(x1, a1, x2, a2, x3, a3, b, random = 5){
187+ y <- a1*x1 + a2*x2 + a3*x3 + b + rnorm(sd=random, n = length(x1))
188+ y
189+ }
190+
191+ df2 <- tibble::tibble(
192+ x = x,
193+ x0 = reg_lin_rand(x = x, a = 1.26, b = 2, random = 3.5),
194+ x1 = reg_lin_rand(x = x, a = 1.5, b = 1, random = 10),
195+ y = reg_mutli3_rand(x1 = x,
196+ x2 = x0,
197+ x3 = x1,
198+ a1 = 0.2, a2 = 0.3, a3 = 1.1,
199+ b = 2))
200+
201+
202+ lm_mult <- lm(data = df2, formula = y ~ x + x1 )
203+ lm_mult_coef <- broom::tidy(lm_mult)
204+ lm_mult_param <- broom::glance(lm_mult)
205+ ```
189206
190- df <- tibble::tibble(x, x0, x1, x2, x3, x4, x5)
207+ Réalisez une régression linéaire simple sur le jeu de données ` df2 ` de la variable y en fonction de la variable ` x ` et ` x1 `
191208
192- plot(df)
193- corrplot::corrplot(cor(df,
194- use = "pairwise.complete.obs"), method = "ellipse" )
209+ ``` {r regmulti-prep}
210+ # edition de l'exercice
211+ set.seed(42 )
195212
196- corrplot::corrplot(cor(df,
197- use = "pairwise.complete.obs", method = "spearman"), method = "ellipse" )
213+ vec <- seq(from = 1, to = 15, by = .2)
214+ x <- vec + rnorm(sd = 3, n = length(vec) )
198215
199- mod_poly2 <- function(x1, alpha1, alpha2, intercept, random_effect){
200- y <- intercept + (alpha1 * x1) + (alpha2 * (x1^2))
201- y + rnorm(n = length(x1), sd = random_effect)
216+ reg_lin_rand <- function(x, a, b, random = 0.5){
217+ y <- (a*x) + b + rnorm(sd=random, n = length(x))
218+ y
219+ }
220+ reg_mutli3_rand <- function(x1, a1, x2, a2, x3, a3, b, random = 5){
221+ y <- a1*x1 + a2*x2 + a3*x3 + b + rnorm(sd=random, n = length(x1))
222+ y
202223}
203224
204- df <- tibble(
205- x = x1,
206- y = mod_poly2(x1 = x1, alpha1 = 2, alpha2 = 2.5, intercept = 55, random_effect = 10)
207- )
225+ df2 <- tibble::tibble(
226+ x = x,
227+ x0 = reg_lin_rand(x = x, a = 1.26, b = 2, random = 3.5),
228+ x1 = reg_lin_rand(x = x, a = 1.5, b = 1, random = 10),
229+ y = reg_mutli3_rand(x1 = x,
230+ x2 = x0,
231+ x3 = x1,
232+ a1 = 0.2, a2 = 0.3, a3 = 1.1,
233+ b = 2))
234+ ```
235+
236+ ``` {r regmulti, exercise = TRUE, exercise.setup = "regmulti-prep"}
237+ # résumé des données
238+ df2
239+ #
240+ ```
208241
209- lm_poly <- lm(df, formula = y ~ x + I(x^2))
210- lm_poly_coef <- broom::tidy(lm_poly)
211- lm_poly_param <- broom::glance(lm_poly)
242+ ``` {r regmulti-hint-1}
243+ # Snippet
244+ summary(lm. <- lm(data = DF, FORMULA))
245+ ```
246+
247+ ``` {r regmulti-hint-2}
248+ summary(lm. <- lm(data = DF, formula = Y ~ VAR1 + VAR2))
249+ ```
250+
251+ ``` {r regmulti-solution}
252+ summary(lm. <- lm(data = df2, formula = y ~ x + x1))
253+ ```
254+
255+ ``` {r regmulti-check}
256+ #TODO
257+ ```
258+
259+ Suite à votre analyse répondez aux questions suivantes :
260+
261+ ``` {r qu_regmulti}
262+ quiz(
263+ question(text = "Quelle est la valeur de l'ordonnée à l'origine ?",
264+ answer(sprintf("%.2f", lm_mult_coef$estimate[1]), correct = TRUE),
265+ answer(sprintf("%.2f", lm_mult_coef$estimate[2])),
266+ answer(sprintf("%.2f", lm_mult_coef$p.value[1])),
267+ answer(sprintf("%.2f", lm_mult_param$AIC[1])),
268+ answer(sprintf("%.2f", lm_mult_param$r.squared[1])),
269+ allow_retry = TRUE, random_answer_order = TRUE
270+ ),
271+ question(text = "Quelle est la fraction de la variance exprimée par la régression linéaire ?",
272+ answer(sprintf("%.3f", lm_mult_param$adj.r.squared), correct = TRUE),
273+ answer(sprintf("%.3f", lm_mult_param$r.squared)),
274+ answer(sprintf("%.3f", lm_mult_param$df)),
275+ answer(sprintf("%.3f", lm_mult_coef$estimate[1])),
276+ allow_retry = TRUE, random_answer_order = TRUE
277+ )
278+ )
212279```
213280
214281## Conclusion
0 commit comments