diff --git a/module3/exo3/exercice-sujet6.html b/module3/exo3/exercice-sujet6.html new file mode 100644 index 0000000000000000000000000000000000000000..9ee2933c245f070133781dfff809746198f86e2a --- /dev/null +++ b/module3/exo3/exercice-sujet6.html @@ -0,0 +1,783 @@ + + + + + + + + + + + + + + + +Autour du Paradoxe de Simpson + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +


+
+

Importer les données

+
a<-read.csv(file='/Users/camille/Downloads/Subject6_smoking.csv',header=TRUE,sep=',')
+head(a)
+
##   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
+


+
+
+

Table des matières

+
1- Contexte
+
+2- Question 1 
+    - Calcul du taux de mortalité
+    - Représentation graphique du taux de mortalité
+    
+3- Question 2
+    - Taux de mortalité chez les 18-34 ans
+    - Taux de mortalité chez les 35-54 ans
+    - Taux de mortalité chez les 55-64 ans
+    - Taux de mortalité chez les plus de 65 ans
+    - Représentation graphique du taux de mortalité en fonction des différentes classes d’âges
+
+4- Question 3
+
+


+
+
+

Contexte

+
Deux sondages ont été réalisés à 20 ans d'intervalle dans le but de comparer le taux de mortalité des femmes 
+fumeuses et des femmes non fumeuses.
+
+Ici, nous nous intéressons à 1314 femmes qui ont participé aux sondages et qui ont été catégorisées en 2 groupes : 
+"fumeuses" et "non fumeuses", en fonction de leur état (en vie / décédé) et de leur âge.
+



+
+
+

Question 1

+


+ +
+

Représentez dans un tableau le nombre total de femmes vivantes et +décédées sur la période en fonction de leur habitude de tabagisme. +Calculez dans chaque groupe (fumeuses / non fumeuses) le taux de +mortalité (le rapport entre le nombre de femmes décédées dans un groupe +et le nombre total de femmes dans ce groupe). Vous pourrez proposer une +représentation graphique de ces données. En quoi ce résultat est-il +surprenant ?

+


+
a$Smoker<-as.factor(a$Smoker)
+a$Status<-as.factor(a$Status)
+
+b<-table(a$Smoker,a$Status)
+addmargins(b)
+
##      
+##       Alive Dead  Sum
+##   No    502  230  732
+##   Yes   443  139  582
+##   Sum   945  369 1314
+
Tableau représentant  le nombre total de femmes vivantes et décédées sur la période en fonction de leur habitude de tabagisme
+
+D'après ce tableau : 
+
+- 732 femmes appartiennent au groupe "non fumeuses". Et parmi ces 732 femmes non fumeuses, 230 sont décédées.
+
+- 582 femmes appartiennent au groupe "fumeuses". Et parmi ces 582 femmes fumeuses, 139 sont décédées.
+


+
+

Calcul du taux de +mortalité

+


+
mortnofum<-b[1,2]/(b[1,1]+b[1,2])*100
+mortnofum
+
## [1] 31.42077
+
mortfum<-b[2,2]/(b[2,1]+b[2,2])*100
+mortfum
+
## [1] 23.88316
+
Le taux de mortalité chez les femmes non fumeuses est égal à environ 31 %.
+Le taux de mortalité chez les femmes fumeuses est égal à environ 24 %.
+
+Le taux de mortalité des femmes non fumeuses est plus élevé que le taux de mortalité des femmes fumeuses.
+
t1<-data.frame(a$Smoker,a$Status)
+head(t1)
+
##   a.Smoker a.Status
+## 1      Yes    Alive
+## 2      Yes    Alive
+## 3       No     Dead
+## 4       No    Alive
+## 5      Yes    Alive
+## 6       No    Alive
+


+
+
+

Représentation graphique du taux de +mortalité

+


+
barplot(c(mortnofum,mortfum),ylim = c(0,100),names.arg = c("non fumeuse","fumeuse"),ylab = "taux de mortalité",main="Taux de mortalité chez les femmes fumeuses et non fumeuses",las=1, col=c("blue4","magenta"))
+

+



+
+
+
+

Question 2

+


+ +
+

Reprenez la question 1 (effectifs et taux de mortalité) en +rajoutant une nouvelle catégorie liée à la classe d’âge. On considérera +par exemple les classes suivantes : 18-34 ans, 34-54 ans, 55-64 ans, +plus de 65 ans. En quoi ce résultat est-il surprenant ? Arrivez-vous à +expliquer ce paradoxe ? De même, vous pourrez proposer une +représentation graphique de ces données pour étayer vos +explications.

+


+
a$age20<-cut(a$Age,c(18,34,54,64,95),include.lowest=TRUE, labels=c("18-34ans","35-54ans","55-64ans",">65ans"))
+
+table(a$age20)
+
## 
+## 18-34ans 35-54ans 55-64ans   >65ans 
+##      400      436      236      242
+
t2<-data.frame(t1,a$age20)
+head(t2)
+
##   a.Smoker a.Status  a.age20
+## 1      Yes    Alive 18-34ans
+## 2      Yes    Alive 18-34ans
+## 3       No     Dead 55-64ans
+## 4       No    Alive 35-54ans
+## 5      Yes    Alive   >65ans
+## 6       No    Alive 35-54ans
+
summary(a)
+
##  Smoker      Status         Age             age20    
+##  No :732   Alive:945   Min.   :18.00   18-34ans:400  
+##  Yes:582   Dead :369   1st Qu.:31.30   35-54ans:436  
+##                        Median :44.80   55-64ans:236  
+##                        Mean   :47.36   >65ans  :242  
+##                        3rd Qu.:60.60                 
+##                        Max.   :89.90
+
Ici, les femmes "fumeuses" et "non fumeuses" ont été classés en fonction de l'âge et de leur état (alive / dead). 
+
+On retrouve 4 tranches d'âges : 18-34 ans, 35-54 ans, 55-64 ans et > 65 ans.
+


+
+

Taux de mortalité chez les 18-34 +ans

+


+
age18_34<-t2[t2$a.age20=="18-34ans",]
+head(age18_34)
+
##    a.Smoker a.Status  a.age20
+## 1       Yes    Alive 18-34ans
+## 2       Yes    Alive 18-34ans
+## 7        No    Alive 18-34ans
+## 9       Yes    Alive 18-34ans
+## 11      Yes    Alive 18-34ans
+## 16       No    Alive 18-34ans
+
age18_34ta<-table(age18_34$a.Smoker,age18_34$a.Status)
+age18_34ta
+
##      
+##       Alive Dead
+##   No    213    6
+##   Yes   176    5
+
mortnofum18_34<-age18_34ta[1,2]/(age18_34ta[1,1]+age18_34ta[1,2])*100
+mortnofum18_34
+
## [1] 2.739726
+
mortfum18_34<-age18_34ta[2,2]/(age18_34ta[2,1]+age18_34ta[2,2])*100
+mortfum18_34
+
## [1] 2.762431
+
Le taux de mortalité chez les 18-34 ans est de 2.74 chez les femmes non fumeuses et 2.76 chez les femmes fumeuses.
+


+
+
+

Taux de mortalité chez les 35-54 +ans

+


+
age35_54<-t2[t2$a.age20=="35-54ans",]
+head(age35_54)
+
##    a.Smoker a.Status  a.age20
+## 4        No    Alive 35-54ans
+## 6        No    Alive 35-54ans
+## 10      Yes    Alive 35-54ans
+## 13      Yes    Alive 35-54ans
+## 17       No    Alive 35-54ans
+## 22      Yes    Alive 35-54ans
+
age35_54ta<-table(age35_54$a.Smoker,age35_54$a.Status)
+age35_54ta
+
##      
+##       Alive Dead
+##   No    180   19
+##   Yes   196   41
+
mortnofum35_54<-age35_54ta[1,2]/(age35_54ta[1,1]+age35_54ta[1,2])*100
+mortnofum35_54
+
## [1] 9.547739
+
mortfum35_54<-age35_54ta[2,2]/(age35_54ta[2,1]+age35_54ta[2,2])*100
+mortfum35_54
+
## [1] 17.29958
+
Le taux de mortalité chez les 35-54 ans est de 10 chez les femmes non fumeuses et 17 chez les femmes fumeuses.
+


+
+
+

Taux de mortalité chez les 55-64 +ans

+


+
age55_64<-t2[t2$a.age20=="55-64ans",]
+head(age55_64)
+
##    a.Smoker a.Status  a.age20
+## 3        No     Dead 55-64ans
+## 8       Yes     Dead 55-64ans
+## 14       No    Alive 55-64ans
+## 15       No     Dead 55-64ans
+## 19       No    Alive 55-64ans
+## 24      Yes     Dead 55-64ans
+
age55_64ta<-table(age55_64$a.Smoker,age55_64$a.Status)
+age55_64ta
+
##      
+##       Alive Dead
+##   No     81   40
+##   Yes    64   51
+
mortnofum55_64<-age55_64ta[1,2]/(age55_64ta[1,1]+age55_64ta[1,2])*100
+mortnofum55_64
+
## [1] 33.05785
+
mortfum55_64<-age55_64ta[2,2]/(age55_64ta[2,1]+age55_64ta[2,2])*100
+mortfum55_64
+
## [1] 44.34783
+
Le taux de mortalité chez les 55-64 ans est de 33 chez les femmes non fumeuses et 44 chez les femmes fumeuses.
+


+
+
+

Taux de mortalité chez les plus de 65 +ans

+


+
ageplusde65<-t2[t2$a.age20==">65ans",]
+head(ageplusde65)
+
##    a.Smoker a.Status a.age20
+## 5       Yes    Alive  >65ans
+## 12       No     Dead  >65ans
+## 20      Yes    Alive  >65ans
+## 21       No     Dead  >65ans
+## 42       No     Dead  >65ans
+## 44       No     Dead  >65ans
+
ageplusde65ta<-table(ageplusde65$a.Smoker,ageplusde65$a.Status)
+ageplusde65ta
+
##      
+##       Alive Dead
+##   No     28  165
+##   Yes     7   42
+
mortnofumplusde65<-ageplusde65ta[1,2]/(ageplusde65ta[1,1]+ageplusde65ta[1,2])*100
+mortnofumplusde65
+
## [1] 85.49223
+
mortfumplusde65<-ageplusde65ta[2,2]/(ageplusde65ta[2,1]+ageplusde65ta[2,2])*100
+mortfumplusde65
+
## [1] 85.71429
+
Le taux de mortalité chez les plus de 65 ans est de 85 chez les femmes non fumeuses et 86 chez les femmes fumeuses.
+


+
+
+

Explication du paradoxe

+


+
Lorsque l'on classe les 2 groupes de femmes en fonction de leur âge, on remarque que dans chaque tranche d'âges, le taux de mortalité est plus élevé chez les femmes du groupe "fumeuses" que chez les femmes du groupe "non fumeuses".
+
+Si on s'intéresse aux 2 groupes "fumeuses" et "non fumeuses", on remarque que dans le groupe de plus de 65 ans, les femmes "non fumeuses" sont beaucoup plus nombreuses (n = 193 dont 165 sont décédées) que les femmes "fumeuses" (n = 49 dont 42 décédées). L'échantillon n'est donc pas distribué de manière homogène.
+
+Cela pourrait expliquer un taux de mortalité plus élevé (retrouvé dans la question 1) chez les femmes non fumeuses par rapport aux femmes fumeuses. 
+
+
+Car même si dans chacune des classes d'âges 18-34 ans, 35-54 ans, 55-64 ans et plus de 65 ans, le taux de mortalité des femmes non fumeuses est inférieur à celui des femmes fumeuses, il est compensé par le nombre plus important de femmes non fumeuses dans les classes d'âges élevées (> 65 ans) où la mortalité est plus élevée que dans les classes d'âges plus faibles. 
+


+
+
+

Représentation graphique du taux de +mortalité en fonction des différentes classes d’âges

+


+
mortalite<-c(mortnofum18_34,mortnofum35_54,mortnofum55_64,mortnofumplusde65,mortfum18_34,mortfum35_54,mortfum55_64,mortfumplusde65)
+
+des<-matrix(mortalite,nc=4,nr=2,byrow = T)
+
+type=c("18-34 ans ","35-54 ans","55-64 ans","> 65 ans")
+
+des<-matrix(mortalite,nc=4,nr=2,byrow = T)
+colnames(des)=type
+
+barplot(des,beside = T,ylim = c(0,100),ylab = "taux de mortalité",main="Taux de mortalité chez les femmes fumeuses et non fumeuses",las=1, col=c("blue4","magenta"),legend.text = c("Non fumeuse", "Fumeuse"),args.legend = list(x="topleft"),font=2) ; box()
+

+

+
+
+
+

Question 3

+


+ +
+

Afin d’éviter un biais induit par des regroupements en tranches +d’âges arbitraires et non régulières, il est envisageable d’essayer de +réaliser une régression logistique. Si on introduit une variable Death +valant 1 ou 0 pour indiquer si l’individu est décédé durant la période +de 20 ans, on peut étudier le modèle Death ~ Age pour étudier la +probabilité de décès en fonction de l’âge selon que l’on considère le +groupe des fumeuses ou des non fumeuses.

+


+
Nous réalisons une régression logistique afin d'éviter un biais induit par des regroupements en tranches d'âges arbitraires et non réguliers.
+


+
a$death<-factor(x=rep(0,length(a$Status)), levels=c(0,1))
+
+for (i in 1:length(a$Status)){
+  if (a$Status[i]=="Dead"){a$death[i]<-1}
+}
+
+
+modele<-glm(formula=death~Age,data=a,family=binomial)
+modele
+
## 
+## Call:  glm(formula = death ~ Age, family = binomial, data = a)
+## 
+## Coefficients:
+## (Intercept)          Age  
+##    -6.10454      0.09765  
+## 
+## Degrees of Freedom: 1313 Total (i.e. Null);  1312 Residual
+## Null Deviance:       1560 
+## Residual Deviance: 1005  AIC: 1009
+
summary(modele)$coefficients
+
##                Estimate  Std. Error   z value     Pr(>|z|)
+## (Intercept) -6.10453657 0.321413975 -18.99275 1.957861e-80
+## Age          0.09765106 0.005555094  17.57865 3.590169e-69
+
nofum<-a[a$Smoker=="No",]
+summary(nofum)
+
##  Smoker      Status         Age             age20     death  
+##  No :732   Alive:502   Min.   :18.00   18-34ans:219   0:502  
+##  Yes:  0   Dead :230   1st Qu.:31.38   35-54ans:199   1:230  
+##                        Median :48.40   55-64ans:121          
+##                        Mean   :49.82   >65ans  :193          
+##                        3rd Qu.:65.85                         
+##                        Max.   :89.90
+
fum<-a[a$Smoker=="Yes",]
+summary(fum)
+
##  Smoker      Status         Age             age20     death  
+##  No :  0   Alive:443   Min.   :18.00   18-34ans:181   0:443  
+##  Yes:582   Dead :139   1st Qu.:31.30   35-54ans:237   1:139  
+##                        Median :43.10   55-64ans:115          
+##                        Mean   :44.27   >65ans  : 49          
+##                        3rd Qu.:56.17                         
+##                        Max.   :89.20
+
modelenofum<-glm(formula=death~Age,data=nofum,family=binomial)
+
+modelefum<-glm(formula=death~Age,data=fum,family=binomial)
+
summary(modelenofum)$coefficients
+
##               Estimate  Std. Error   z value     Pr(>|z|)
+## (Intercept) -6.7955070 0.479429847 -14.17414 1.324511e-45
+## Age          0.1072753 0.007806133  13.74244 5.653702e-43
+


+
On retrouve un effet de l'âge sur la mortalité chez les femmes non fumeuses.
+
+


+
summary(modelefum)$coefficients
+
##                Estimate  Std. Error   z value     Pr(>|z|)
+## (Intercept) -5.50810582 0.466221021 -11.81437 3.290212e-32
+## Age          0.08897651 0.008720962  10.20260 1.930305e-24
+


+
On retrouve un effet de l'âge sur la mortalité chez les femmes non fumeuses.
+
+


+

Ainsi, dans les 2 groupes “fumeuses” et “non fumeuses”, l’âge +a un effet significatif sur la mortalité. Cela est en accord avec le +fait que le taux de mortalité augmente avec le +vieillissement.

+
+ + + + +
+ + + + + + + + + + + + + + +