mortality <- ggplot(dead_or_alive, aes(x = Smoker, y = mortality, fill = Smoker)) + geom_bar(stat = "identity") +
+ labs(x = "Smoker", y = "Mortality rate", title = "Mortality rate by behaviour")
+mortality
+
+
+
+
+
+Le résultat est surprenant car on observe un plus fort taux de
+mortalité chez les non-fumeur que chez les fumeur.
+
-
-
2.2 Vérification
-
+
+
+
1.2 Question 2
+
-Vérification du bon chargement des données en visualisant le début et
-la fin des données.
+On recrée un data-frame pour ne pas interagir avec les résultats
+précédent.
- 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
+
+18-34 35-54 55-64 plus de 65
+ 400 436 236 242
+
-
-Vérification de la présence de données manquante.
-
-[1] Smoker Status Age
-<0 lignes> (ou 'row.names' de longueur nulle)
+
+
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
+
+
+
+
+
+
+
mortality2 <- ggplot(dead_or_alive2, aes(x = Smoker, y = mortality, fill = Age))+ geom_bar(stat = "identity", position = position_dodge()) +
+ labs(x = "Smoker", y = "Mortality rate", title = "Mortality rate by behaviour")
+mortality2
+
+
+
+
+
+
+
-Vérification de la classe des données et du nombre de data.
+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
+plus de 65 ans, la tendence s'inverse avec un plus grande mortalité
+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
+habituer aux toxines alors que les non-fumeur subissant le tabagisme
+passif et ayant atteint un age où ils sont plus à risque soit plus à
+même de décédé à cause des toxines du tabac.
+
+
+
+
+
+
1.3 Question 3
+
+
+On recrée un data-frame pour ne pas interagir avec les résultats
+précédent.
+
+
+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. Il est donc possible qu'il y
+est moins de mort chez les fumeurs car le corps est habitué à la cigarette.
+Vérification du bon chargement des données en visualisant le début et
+la fin des données.
+
+
+
head(simpson_data)
+tail(simpson_data)
+
+
+
+
+ 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
+
+
+
+Vérification de la présence de données manquante.
+
+
+
diff --git a/module3/exo3/exercice_R_fr.org b/module3/exo3/exercice_R_fr.org
index f23b2c818d4d4899a27b8987e55305cf1e2d3127..2b50c9f15f8c3f68400b9a2577c2a15446ea5398 100644
--- a/module3/exo3/exercice_R_fr.org
+++ b/module3/exo3/exercice_R_fr.org
@@ -17,6 +17,7 @@ library(devtools) # Obtention des informations sur la session R
library(dplyr) # Manipulation des données
library(tidyverse) # Collection de packages pour la data science
library(knitr) # Génération de rapports dynamique
+library(forcats)
library(broman) # Function intéressante pour R
library(RColorBrewer) # Couleur des figures
library(ggplot2) # Création des figures
@@ -25,41 +26,6 @@ library(xtable) # Jolie tableau
library(kableExtra) # Création de tableau
#+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:
** Chargement
@@ -67,8 +33,6 @@ The following object is masked from ‘package:dplyr’:
simpson_data <- read.csv("Subject6_smoking.csv")
#+end_src
-#+RESULTS:
-
Les données sont sous la forme :
| Libellé | Description |
@@ -86,35 +50,12 @@ head(simpson_data)
tail(simpson_data)
#+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.
#+begin_src R :results output :session *R* :exports both
na_records <- apply(simpson_data, 1, function(x) any(is.na(x)))
simpson_data[na_records,]
#+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.
#+begin_src R :results output :session *R* :exports both
@@ -124,14 +65,6 @@ class(simpson_data$Status)
class(simpson_data$Age)
#+end_src
-#+RESULTS:
-: [1] 1314
-:
-: [1] "factor"
-:
-: [1] "factor"
-:
-: [1] "numeric"
* Analyse des données
** Question 1
@@ -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)
#+end_src
-#+RESULTS:
-
#+begin_src R :results table :colnames yes :session *R* :exports results
xtable(dead_or_alive)
#+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*
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)
mortality
#+end_src
-#+RESULTS:
-[[file:/tmp/babel-pNwaHh/figureO5jUUE.png]]
Le résultat est surprenant car on observe un plus fort taux de
mortalité chez les non-fumeur que chez les fumeur.
-
-
** Question 2
On recrée un data-frame pour ne pas interagir avec les résultats
précédent.
@@ -176,17 +97,13 @@ simpson_data_q2 <- simpson_data
simpson_data_q2$Age <- as.numeric(simpson_data_q2$Age)
#+end_src
-#+RESULTS:
+
On regroupe les ages en catégories
#+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"))
table(simpson_data_q2$Age)
#+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
dead_or_alive2 <- simpson_data_q2%>%
@@ -198,23 +115,9 @@ mutate(mortality = (Dead/sum(Number))*100)
dead_or_alive$mortality <- round(dead_or_alive$mortality, 2)
#+end_src
-#+RESULTS:
-
#+begin_src R :results table :colnames yes :session *R* :exports results
xtable(dead_or_alive2)
#+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*
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))
mortality2
#+end_src
-#+RESULTS:
-[[file:/tmp/babel-fRQzWg/figureR2aE0F.png]]
-
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
plus de 65 ans, la tendence s'inverse avec un plus grande mortalité
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
-habituer aux toxines alors que les non-fumeur subissant le tabagisme
-passif et ayant atteint un age où ils sont plus à risque soit plus à
-même de décédé à cause des toxines du tabac.
+L'inversion de ces proportions peut s'expliquer par un enrichissement
+en personnes agées chez les non fumeurs.
+
+** 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.
+