|
| 1 | +--- |
| 2 | +title: "Module 12 : Les coefficient de corrélation" |
| 3 | +subtitle: "Traitement des données I" |
| 4 | +author: "Guyliann Engels & Philippe Grosjean" |
| 5 | +output: |
| 6 | + learnr::tutorial |
| 7 | +tutorial: |
| 8 | + id: "sdd1.12a" |
| 9 | + version: 1.0.0 |
| 10 | +runtime: shiny_prerendered |
| 11 | +--- |
| 12 | + |
| 13 | +```{r setup, include=FALSE} |
| 14 | +library(learnr) |
| 15 | +library(knitr) |
| 16 | +SciViews::R() |
| 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 | +library(BioDataScience) |
| 25 | +#dataset |
| 26 | +urchin <- read("urchin_bio", package = "data.io", lang = "fr") |
| 27 | +``` |
| 28 | + |
| 29 | +```{r, echo=FALSE} |
| 30 | +fixedRow( |
| 31 | + column(9, div( |
| 32 | + img(src = 'images/BioDataScience-128.png', align = "left"), |
| 33 | + h1("Science des données biologiques"), |
| 34 | + "Réalisé par le service d'Écologie numérique des Milieux aquatiques, Université de Mons (Belgique)" |
| 35 | + )), |
| 36 | + column(3, div( |
| 37 | + textInput("user", "Utilisateur :", ""), |
| 38 | + textInput("email", "Email :", "") |
| 39 | + )) |
| 40 | +) |
| 41 | +textOutput("user") # This is newer shown, but required to trigger an event! |
| 42 | +textOutput("email") # Idem! |
| 43 | +``` |
| 44 | + |
| 45 | +```{r, context="server"} |
| 46 | +output$user <- renderText({BioDataScience::user_name(input$user);""}) |
| 47 | +output$email <- renderText({BioDataScience::user_email(input$email);""}) |
| 48 | +updateTextInput(session, "user", value = BioDataScience::user_name()) |
| 49 | +updateTextInput(session, "email", value = BioDataScience::user_email()) |
| 50 | +``` |
| 51 | + |
| 52 | +## Préambule |
| 53 | + |
| 54 | +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). |
| 55 | + |
| 56 | + |
| 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 | +## Objectifs |
| 61 | + |
| 62 | +- Comprendre les différents niveaux d’association de deux variables numériques. |
| 63 | + |
| 64 | +## La corrélation |
| 65 | + |
| 66 | +Vous avez à votre disposition un jeu de données sur la biométrie d'Iris. |
| 67 | + |
| 68 | +```{r, echo = TRUE} |
| 69 | +# Importation des données |
| 70 | +(iris <- read("iris", package = "datasets", lang = "fr")) |
| 71 | +``` |
| 72 | + |
| 73 | +Utilisez la matrice de corrélation afin de mettre en avant la corrélation entre l'ensemble des vairables numérique disponible. |
| 74 | + |
| 75 | +```{r iris_prepa} |
| 76 | +iris <- read("iris", package = "datasets") |
| 77 | +``` |
| 78 | + |
| 79 | +Vous avez à votre disposition le snippet : |
| 80 | + |
| 81 | +```{r, echo, eval = FALSE, echo = TRUE} |
| 82 | +correlation(DF[, INDEX_EXPRESSION], use = "complete.obs", method = "pearson") |
| 83 | +``` |
| 84 | + |
| 85 | +N'oubliez pas de sélectionner les variables que vous souhaitez étudier. |
| 86 | + |
| 87 | +```{r corr1, exercise = TRUE, exercise.setup = "iris_prepa"} |
| 88 | +
|
| 89 | +``` |
| 90 | + |
| 91 | +```{r corr1-solution} |
| 92 | +correlation(iris[, 1:4], use = "complete.obs", method = "pearson") |
| 93 | +``` |
| 94 | + |
| 95 | +```{r corr1-check} |
| 96 | +# TODO |
| 97 | +``` |
| 98 | + |
| 99 | + |
| 100 | +Vous pouvez également réaliser un graphique avec l'instruction suivante : |
| 101 | + |
| 102 | +```{r, echo = TRUE, eval = FALSE} |
| 103 | +plot(correlation(DF[, INDEX_EXPRESSION], use = "complete.obs", method = "pearson")) |
| 104 | +``` |
| 105 | + |
| 106 | +```{r corr2, exercise = TRUE, exercise.setup = "iriss_prepa"} |
| 107 | +
|
| 108 | +``` |
| 109 | + |
| 110 | +```{r corr2-solution} |
| 111 | +plot(correlation(iris[, 1:4], use = "complete.obs", method = "pearson")) |
| 112 | +``` |
| 113 | + |
| 114 | +```{r corr2-check} |
| 115 | +# TODO |
| 116 | +``` |
| 117 | + |
| 118 | +En ajoutant l'argument type = "upper", vous pouvez n'afficher que la partie supérieur de votre graphique. |
| 119 | + |
| 120 | +```{r corr3, exercise = TRUE, exercise.setup = "iris_prepa"} |
| 121 | +
|
| 122 | +``` |
| 123 | + |
| 124 | +```{r corr3-solution} |
| 125 | +plot(correlation(iris[, 1:4], use = "complete.obs", method = "pearson"), type = "upper") |
| 126 | +``` |
| 127 | + |
| 128 | +```{r corr3-check} |
| 129 | +# TODO |
| 130 | +``` |
| 131 | + |
| 132 | +Répondez à présent à la question suivante. |
| 133 | + |
| 134 | +```{r quiz1} |
| 135 | +question("Quelles sont les variables les plus fortement corrélées ?(sélectionnez les deux variables les plus corrélées)", |
| 136 | + answer("sepal_length"), |
| 137 | + answer("sepal_width"), |
| 138 | + answer("petal_length", correct = TRUE), |
| 139 | + answer("petal_width", correct = TRUE), |
| 140 | + allow_retry = TRUE, |
| 141 | + incorrect = "Recommencez afin de trouver la bonne réponse", |
| 142 | + correct = "Bravo, c'est correct") |
| 143 | +``` |
| 144 | + |
| 145 | +Nous pouvons nous poser la question suivante : |
| 146 | + |
| 147 | +- **est ce que la largeur des sépales (sepal_width) et la longeur des pétales (petal_length) sont significativement corrélées au seuil alpha de 5% ? ** |
| 148 | + |
| 149 | +```{r, echo = TRUE, eval = FALSE} |
| 150 | +cor.test(data = DF, ~ YNUM + XNUM, |
| 151 | + alternative = "two.sided", method = "pearson") |
| 152 | +``` |
| 153 | + |
| 154 | +```{r corr4, exercise = TRUE, exercise.setup = "iris_prepa"} |
| 155 | +
|
| 156 | +``` |
| 157 | + |
| 158 | +```{r corr4-solution} |
| 159 | +cor.test(data = iris, ~ petal_length + sepal_width, |
| 160 | + alternative = "two.sided", method = "pearson") |
| 161 | +``` |
| 162 | + |
| 163 | +```{r corr4-check} |
| 164 | +# TODO |
| 165 | +``` |
| 166 | + |
| 167 | +```{r quiz2} |
| 168 | +question("Y a t'il une différence significative au seuil alpha de 5% ?", |
| 169 | + answer("Oui", correct = TRUE), |
| 170 | + answer("Non")) |
| 171 | +``` |
| 172 | + |
| 173 | + |
| 174 | +- **est ce que la largeur des sépales (sepal_width) et la longeur des sépales () sont significativement corrélées au seuil alpha de 5% ? ** |
| 175 | + |
| 176 | +```{r corr5, exercise = TRUE, exercise.setup = "iris_prepa"} |
| 177 | +
|
| 178 | +``` |
| 179 | + |
| 180 | +```{r corr5-solution} |
| 181 | +cor.test(data = iris, ~ sepal_length + sepal_width, |
| 182 | + alternative = "two.sided", method = "pearson") |
| 183 | +``` |
| 184 | + |
| 185 | +```{r corr5-check} |
| 186 | +# TODO |
| 187 | +``` |
| 188 | + |
| 189 | +```{r quiz3} |
| 190 | +question("Y a t'il une différence significative au seuil alpha de 5% ?", |
| 191 | + answer("Oui"), |
| 192 | + answer("Non", correct = TRUE)) |
| 193 | +``` |
| 194 | + |
| 195 | + |
| 196 | +## Conclusion |
| 197 | + |
| 198 | +Bravo! Vous venez de terminer votre séance d'exercices dans un tutoriel "learnr". |
| 199 | + |
| 200 | +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. |
| 201 | + |
| 202 | +```{r comm, exercise=TRUE, exercise.lines = 8} |
| 203 | +# Ajout de commentaires |
| 204 | +# ... |
| 205 | +``` |
| 206 | + |
| 207 | +```{r comm-check} |
| 208 | +# Not yet... |
| 209 | +``` |
0 commit comments