Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mooc-rr
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
2992438755465b7fe3afd7856bde0599
mooc-rr
Commits
2e2ccaad
Commit
2e2ccaad
authored
Apr 05, 2020
by
Adam Taheraly
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reponse devoir
parent
b0db00a7
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
753 additions
and
207 deletions
+753
-207
exercice_R_fr.html
module3/exo3/exercice_R_fr.html
+267
-101
exercice_R_fr.html~
module3/exo3/exercice_R_fr.html~
+427
-0
exercice_R_fr.org
module3/exo3/exercice_R_fr.org
+59
-106
No files found.
module3/exo3/exercice_R_fr.html
View file @
2e2ccaad
This diff is collapsed.
Click to expand it.
module3/exo3/exercice_R_fr.html~
0 → 100644
View file @
2e2ccaad
This diff is collapsed.
Click to expand it.
module3/exo3/exercice_R_fr.org
View file @
2e2ccaad
...
@@ -17,6 +17,7 @@ library(devtools) # Obtention des informations sur la session R
...
@@ -17,6 +17,7 @@ library(devtools) # Obtention des informations sur la session R
library(dplyr) # Manipulation des données
library(dplyr) # Manipulation des données
library(tidyverse) # Collection de packages pour la data science
library(tidyverse) # Collection de packages pour la data science
library(knitr) # Génération de rapports dynamique
library(knitr) # Génération de rapports dynamique
library(forcats)
library(broman) # Function intéressante pour R
library(broman) # Function intéressante pour R
library(RColorBrewer) # Couleur des figures
library(RColorBrewer) # Couleur des figures
library(ggplot2) # Création des figures
library(ggplot2) # Création des figures
...
@@ -25,41 +26,6 @@ library(xtable) # Jolie tableau
...
@@ -25,41 +26,6 @@ library(xtable) # Jolie tableau
library(kableExtra) # Création de tableau
library(kableExtra) # Création de tableau
#+end_src
#+end_src
#+RESULTS:
#+begin_example
Le chargement a nécessité le package : usethis
Attachement du package : ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
── [1mAttaching packages[22m ─────────────────────────────────────── tidyverse 1.3.0 ──
[32m✔[39m [34mggplot2[39m 3.3.0 [32m✔[39m [34mpurrr [39m 0.3.3
[32m✔[39m [34mtibble [39m 3.0.0 [32m✔[39m [34mstringr[39m 1.4.0
[32m✔[39m [34mtidyr [39m 1.0.2 [32m✔[39m [34mforcats[39m 0.5.0
[32m✔[39m [34mreadr [39m 1.3.1
── [1mConflicts[22m ────────────────────────────────────────── tidyverse_conflicts() ──
[31m✖[39m [34mdplyr[39m::[32mfilter()[39m masks [34mstats[39m::filter()
[31m✖[39m [34mdplyr[39m::[32mlag()[39m masks [34mstats[39m::lag()
Attachement du package : ‘broman’
The following object is masked from ‘package:purrr’:
done
Attachement du package : ‘kableExtra’
The following object is masked from ‘package:dplyr’:
group_rows
#+end_example
* Mise en place des données :noexport:
* Mise en place des données :noexport:
** Chargement
** Chargement
...
@@ -67,8 +33,6 @@ The following object is masked from ‘package:dplyr’:
...
@@ -67,8 +33,6 @@ The following object is masked from ‘package:dplyr’:
simpson_data <- read.csv("Subject6_smoking.csv")
simpson_data <- read.csv("Subject6_smoking.csv")
#+end_src
#+end_src
#+RESULTS:
Les données sont sous la forme :
Les données sont sous la forme :
| Libellé | Description |
| Libellé | Description |
...
@@ -86,35 +50,12 @@ head(simpson_data)
...
@@ -86,35 +50,12 @@ head(simpson_data)
tail(simpson_data)
tail(simpson_data)
#+end_src
#+end_src
#+RESULTS:
#+begin_example
Smoker Status Age
1 Yes Alive 21.0
2 Yes Alive 19.3
3 No Dead 57.5
4 No Alive 47.1
5 Yes Alive 81.4
6 No Alive 36.8
Smoker Status Age
1309 No Alive 42.1
1310 Yes Alive 35.9
1311 No Alive 22.3
1312 Yes Dead 62.1
1313 No Dead 88.6
1314 No Alive 39.1
#+end_example
Vérification de la présence de données manquante.
Vérification de la présence de données manquante.
#+begin_src R :results output :session *R* :exports both
#+begin_src R :results output :session *R* :exports both
na_records <- apply(simpson_data, 1, function(x) any(is.na(x)))
na_records <- apply(simpson_data, 1, function(x) any(is.na(x)))
simpson_data[na_records,]
simpson_data[na_records,]
#+end_src
#+end_src
#+RESULTS:
:
: [1] Smoker Status Age
: <0 lignes> (ou 'row.names' de longueur nulle)
Vérification de la classe des données et du nombre de data.
Vérification de la classe des données et du nombre de data.
#+begin_src R :results output :session *R* :exports both
#+begin_src R :results output :session *R* :exports both
...
@@ -124,14 +65,6 @@ class(simpson_data$Status)
...
@@ -124,14 +65,6 @@ class(simpson_data$Status)
class(simpson_data$Age)
class(simpson_data$Age)
#+end_src
#+end_src
#+RESULTS:
: [1] 1314
:
: [1] "factor"
:
: [1] "factor"
:
: [1] "numeric"
* Analyse des données
* Analyse des données
** Question 1
** Question 1
...
@@ -142,18 +75,10 @@ summarise(Number = n(), Alive = sum(Status == "Alive"), Dead = sum(Status == "De
...
@@ -142,18 +75,10 @@ summarise(Number = n(), Alive = sum(Status == "Alive"), Dead = sum(Status == "De
dead_or_alive$mortality <- round(dead_or_alive$mortality, 2)
dead_or_alive$mortality <- round(dead_or_alive$mortality, 2)
#+end_src
#+end_src
#+RESULTS:
#+begin_src R :results table :colnames yes :session *R* :exports results
#+begin_src R :results table :colnames yes :session *R* :exports results
xtable(dead_or_alive)
xtable(dead_or_alive)
#+end_src
#+end_src
#+RESULTS:
| Smoker | Number | Alive | Dead | mortality |
|--------+--------+-------+------+-----------|
| No | 732 | 502 | 230 | 31.42 |
| Yes | 582 | 443 | 139 | 23.88 |
#+begin_src R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R*
#+begin_src R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R*
mortality <- ggplot(dead_or_alive, aes(x = Smoker, y = mortality, fill = Smoker)) + geom_bar(stat = "identity") +
mortality <- ggplot(dead_or_alive, aes(x = Smoker, y = mortality, fill = Smoker)) + geom_bar(stat = "identity") +
...
@@ -161,13 +86,9 @@ mortality <- ggplot(dead_or_alive, aes(x = Smoker, y = mortality, fill = Smoker)
...
@@ -161,13 +86,9 @@ mortality <- ggplot(dead_or_alive, aes(x = Smoker, y = mortality, fill = Smoker)
mortality
mortality
#+end_src
#+end_src
#+RESULTS:
[[file:/tmp/babel-pNwaHh/figureO5jUUE.png]]
Le résultat est surprenant car on observe un plus fort taux de
Le résultat est surprenant car on observe un plus fort taux de
mortalité chez les non-fumeur que chez les fumeur.
mortalité chez les non-fumeur que chez les fumeur.
** Question 2
** Question 2
On recrée un data-frame pour ne pas interagir avec les résultats
On recrée un data-frame pour ne pas interagir avec les résultats
précédent.
précédent.
...
@@ -176,17 +97,13 @@ simpson_data_q2 <- simpson_data
...
@@ -176,17 +97,13 @@ simpson_data_q2 <- simpson_data
simpson_data_q2$Age <- as.numeric(simpson_data_q2$Age)
simpson_data_q2$Age <- as.numeric(simpson_data_q2$Age)
#+end_src
#+end_src
#+RESULTS:
On regroupe les ages en catégories
On regroupe les ages en catégories
#+begin_src R :results output :session *R* :exports both
#+begin_src R :results output :session *R* :exports both
simpson_data_q2$Age <- cut(simpson_data_q2$Age, c(18, 34, 54, 64, 200), include.lowest = TRUE, labels = c("18-34", "35-54", "55-64", "plus de 65"))
simpson_data_q2$Age <- cut(simpson_data_q2$Age, c(18, 34, 54, 64, 200), include.lowest = TRUE, labels = c("18-34", "35-54", "55-64", "plus de 65"))
table(simpson_data_q2$Age)
table(simpson_data_q2$Age)
#+end_src
#+end_src
#+RESULTS:
:
: 18-34 35-54 55-64 plus de 65
: 400 436 236 242
#+begin_src R :results output :session *R* :exports both
#+begin_src R :results output :session *R* :exports both
dead_or_alive2 <- simpson_data_q2%>%
dead_or_alive2 <- simpson_data_q2%>%
...
@@ -198,23 +115,9 @@ mutate(mortality = (Dead/sum(Number))*100)
...
@@ -198,23 +115,9 @@ mutate(mortality = (Dead/sum(Number))*100)
dead_or_alive$mortality <- round(dead_or_alive$mortality, 2)
dead_or_alive$mortality <- round(dead_or_alive$mortality, 2)
#+end_src
#+end_src
#+RESULTS:
#+begin_src R :results table :colnames yes :session *R* :exports results
#+begin_src R :results table :colnames yes :session *R* :exports results
xtable(dead_or_alive2)
xtable(dead_or_alive2)
#+end_src
#+end_src
#+RESULTS:
| Smoker | Age | Number | Alive | Dead | mortality |
|--------+------------+--------+-------+------+-------------------|
| No | 18-34 | 219 | 213 | 6 | 0.819672131147541 |
| No | 35-54 | 199 | 180 | 19 | 2.59562841530055 |
| No | 55-64 | 121 | 81 | 40 | 5.46448087431694 |
| No | plus de 65 | 193 | 28 | 165 | 22.5409836065574 |
| Yes | 18-34 | 181 | 176 | 5 | 0.859106529209622 |
| Yes | 35-54 | 237 | 196 | 41 | 7.0446735395189 |
| Yes | 55-64 | 115 | 64 | 51 | 8.76288659793814 |
| Yes | plus de 65 | 49 | 7 | 42 | 7.21649484536082 |
#+begin_src R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R*
#+begin_src R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R*
mortality2 <- ggplot(dead_or_alive2, aes(x = Smoker, y = mortality, fill = Age))+ geom_bar(stat = "identity", position = position_dodge()) +
mortality2 <- ggplot(dead_or_alive2, aes(x = Smoker, y = mortality, fill = Age))+ geom_bar(stat = "identity", position = position_dodge()) +
...
@@ -222,15 +125,65 @@ mortality2 <- ggplot(dead_or_alive2, aes(x = Smoker, y = mortality, fill = Age))
...
@@ -222,15 +125,65 @@ mortality2 <- ggplot(dead_or_alive2, aes(x = Smoker, y = mortality, fill = Age))
mortality2
mortality2
#+end_src
#+end_src
#+RESULTS:
[[file:/tmp/babel-fRQzWg/figureR2aE0F.png]]
On observe une diminution du taux de mortalité chez les moins de 65
On observe une diminution du taux de mortalité chez les moins de 65
ans parmis les non fumeur par rapport au fumeur. Cependant, chez les
ans parmis les non fumeur par rapport au fumeur. Cependant, chez les
plus de 65 ans, la tendence s'inverse avec un plus grande mortalité
plus de 65 ans, la tendence s'inverse avec un plus grande mortalité
chez les fumeurs par rappor au non fumeur (3 fois plus).
chez les fumeurs par rappor au non fumeur (3 fois plus).
Cela peut s'expliquer par le fait que le corps des fumeurs se soit
L'inversion de ces proportions peut s'expliquer par un enrichissement
habituer aux toxines alors que les non-fumeur subissant le tabagisme
en personnes agées chez les non fumeurs.
passif et ayant atteint un age où ils sont plus à risque soit plus à
même de décédé à cause des toxines du tabac.
** Question 3
On recrée un data-frame pour ne pas interagir avec les résultats
précédent.
#+begin_src R :results output :session *R* :exports both
simpson_data_q3 <- simpson_data
simpson_data_q3$Death <- factor(simpson_data_q3$Status)
simpson_data_q3$Death <- fct_recode(simpson_data_q3$Death, "1"="Alive", "0"="Dead")
simpson_data_q3$Death <- as.numeric(as.character(simpson_data_q3$Death))
simpson_data_q3$Age <- as.numeric(as.character(simpson_data_q3$Age))
#+end_src
#+begin_src R :results output :session *R* :exports both
head(simpson_data_q3)
#+end_src
#+begin_src R :results output :session *R* :exports both
reg_log_total <- ggplot(simpson_data_q3, aes(x=Age,y=Death)) + geom_point(alpha=.3,size=3) +
theme_bw() +
geom_smooth(method = "glm",
method.args = list(family = "binomial"),fullrange = TRUE)
reg_log_fumeur <- ggplot(simpson_data_q3[simpson_data_q3$Smoker == "Yes",], aes(x=Age,y=Death)) + geom_point(alpha=.3,size=3) +
theme_bw() +
geom_smooth(method = "glm",
method.args = list(family = "binomial"),fullrange = TRUE)
reg_log_non_fumeur <- ggplot(simpson_data_q3[simpson_data_q3$Smoker == "No",], aes(x=Age,y=Death)) + geom_point(alpha=.3,size=3) +
theme_bw() +
geom_smooth(method = "glm",
method.args = list(family = "binomial"),fullrange = TRUE)
#+end_src
#+begin_src R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R*
reg_log_total
#+end_src
#+begin_src R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R*
reg_log_fumeur
#+end_src
#+begin_src R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R*
reg_log_non_fumeur
#+end_src
Passer 60 ans, bien que les courbes soient semblable, on voit que l'intervalle de confiance chez les fumeurs
est plus grands que chez les non fumeur. Cela s'explique bien par une
plus faible population de personne agée chez les fumeurs.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment