diff --git a/module3/exo3/exercice_fr.html b/module3/exo3/exercice_fr.html new file mode 100644 index 0000000000000000000000000000000000000000..0d5802687d02115c0027929bb0974479fdd2a223 --- /dev/null +++ b/module3/exo3/exercice_fr.html @@ -0,0 +1,374 @@ + + + + +
+ + + + + + + + + +Voici les instructions du Sujet 6 : Autour du Paradoxe de Simpson
+++En 1972-1974, à Whickham, une ville du nord-est de l’Angleterre, située à environ 6,5 kilomètres au sud-ouest de Newcastle upon Tyne, un sondage d’un sixième des électeurs a été effectué afin d’éclairer des travaux sur les maladies thyroïdiennes et cardiaques (Tunbridge et al. 1977). Une suite de cette étude a été menée vingt ans plus tard (Vanderpump et al. 1995). Certains des résultats avaient trait au tabagisme et cherchaient à savoir si les individus étaient toujours en vie lors de la seconde étude. Par simplicité, nous nous restreindrons aux femmes et parmi celles-ci aux 1314 qui ont été catégorisées comme “fumant actuellement” ou “n’ayant jamais fumé”. Il y avait relativement peu de femmes dans le sondage initial ayant fumé et ayant arrêté depuis (162) et très peu pour lesquelles l’information n’était pas disponible (18). La survie à 20 ans a été déterminée pour l’ensemble des femmes du premier sondage.
+
++Les données sont disponibles dans ce fichier CSV. Vous trouverez sur chaque ligne si la personne fume ou non, si elle est vivante ou décédée au moment de la seconde étude, et son âge lors du premier sondage.
+
++Cet exercice peut être réalisé indifféremment en R ou en Python.
+
++Votre mission si vous l’acceptez :
+
+++
+- 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 et calculer des intervalles de confiance si vous le souhaitez. En quoi ce résultat est-il surprenant ?
+- 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.
+- 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. Ces régressions vous permettent-elles de conclure sur la nocivité du tabagisme ? Vous pourrez proposer une représentation graphique de ces régressions (en n’omettant pas les régions de confiance).
+- Déposez votre étude dans FUN
+
Les données sont disponibles sur le Gitlab du MOOC “Recherche Reproductible : principes méthodologiques pour une science transparente” de l’Inria. On peut les récupérer au format .csv à cette adresse :
+data_url<-"https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/-/raw/master/module3/Practical_session/Subject6_smoking.csv?inline=false"
+Pour nous protéger contre une éventuelle disparition ou modification du serveur du Gitlab du MOOC, nous faisons une copie locale de ce jeux de données que nous préservons avec notre analyse. Il est inutile et même risqué de télécharger les données à chaque exécution, car dans le cas d’une panne nous pourrions remplacer nos données par un fichier défectueux. Pour cette raison, nous téléchargeons les données seulement si la copie locale n’existe pas.
+data_file <- "Subject6_smoking.csv"
+if (!file.exists(data_file)) {
+ download.file(data_url, data_file, method="auto")
+}
+data<-read.csv(data_file)
+Voyons voir à quoi ressemblent les données :
+head(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
+tail(data)
+## 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
+Nous avons les données pour 1314 femmes, avec dans l’ordre : si la personne fume ou non (colonne Smoker
: Yes
ou No
), si elle est morte ou vivante au moment de la deuxième étude en 1995 (colonne Status
: Dead
ou Alive
) et son âge lors de la première étude faite entre 1972 et 1974 (colonne Age
).
Y a-t’il des points manquants dans nos données ?
+na_records <- apply(data,1,function(x) any(is.na(x)))
+data[na_records,]
+## [1] Smoker Status Age
+## <0 rows> (or 0-length row.names)
+Aucune donnée manquante, parfait !
+Vérifions la classe de chaque colonne
+class(data$Smoker)
+## [1] "factor"
+class(data$Status)
+## [1] "factor"
+class(data$Age)
+## [1] "numeric"
+La données de la colonne Age
sont bien de classe numeric Les données des colonnes Smoker
et Status
sont de classe factor, ça posera peut-être problème par la suite ?
Nous voulons étudier le taux de mortalité pour chaque groupe (fumeuses/non fumeuses)
+Faisons un tableau représentant le nombre de femmes par habitude de tabagisme (fumeuses/non fumeuses) et statut (vivantes/mortes)
+t<-table(data$Smoker,data$Status)
+t
+##
+## Alive Dead
+## No 502 230
+## Yes 443 139
+Vérifions que la somme de chaque catégorie correspond bien au nombre total de femmes de l’étude
+sum(t)==nrow(data)
+## [1] TRUE
+Nous pouvons voir qu’il y a plus de femmes vivantes que de femmes mortes et plus de femmes qui ne fument pas :
+alive<-sum(t[,1]) #femmes vivantes
+alive
+## [1] 945
+dead<-sum(t[,2]) #femmes mortes
+dead
+## [1] 369
+Il y a également plus de femmes non fumeuses que fumeuses :
+nsmoke<-sum(t[1,]) #femmes non fumeuses
+nsmoke
+## [1] 732
+smoke<-sum(t[2,]) #femmes fumeuses
+smoke
+## [1] 582
+Calculons dans chaque groupe (fumeuses/non fumeuses) le taux de mortalité (rapport entre le nombre de femmes décédées dans un groupe et le nombre total de femmes dans ce groupe)
+taux de mortalité pour les femmes non fumeuses :
+nsmoke_morta<-t[1,2]/nsmoke
+nsmoke_morta
+## [1] 0.3142077
+taux de mortalité pour les femmes fumeuses :
+smoke_morta<-t[2,2]/smoke
+smoke_morta
+## [1] 0.2388316
+Les femmes non fumeuses présentent un taux de mortalité plus élevé !
+De combien est-il plus élevé ?
+nsmoke_morta/smoke_morta
+## [1] 1.315603
+Pour calculer les intervalles de confiance à 95% du taux de mortalité par catégorie (fumeuses/non fumeuses), nous allons suivre les instructions de l’article How to Determine the Confidence Interval for a Population Proportion du site dummies.com
+mettre formule mathématique
+nsmoke_CI<-1.96*sqrt((nsmoke_morta*(1-nsmoke_morta))/nsmoke)
+smoke_CI<-1.96*sqrt((smoke_morta*(1-smoke_morta))/smoke)
+Pour faire les graphiques, nous utiliserons la librairie ggplot2
library(ggplot2)
+hist(data$Age)
+summary(data$Age)
+## Min. 1st Qu. Median Mean 3rd Qu. Max.
+## 18.00 31.30 44.80 47.36 60.60 89.90
+