--- title: "Sujet 6 : Autour du Paradoxe de Simpson" author: "Alexandre VIEIRA" date: "01/02/2024" output: file:///Users/alexandre/Sujet-6-MOOC.html --- 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. ```{r} data_url = "https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/-/raw/master/module3/Practical_session/Subject6_smoking.csv" ``` ```{r} data = read.csv(data_url) head(data) ``` ```{r} tableau <- table(data$Smoker, data$Status) # Renommer les lignes et les colonnes rownames(tableau) <- c("Non Fumeur", "Fumeur") colnames(tableau) <- c("Vivant", "Décédé") # Affichage du tableau print(tableau) ``` Vivant Décédé Non Fumeur 502 230 Fumeur 443 139 # Données total_smokers <- 582 deaths_smokers <- 139 total_non_smokers <- 732 deaths_non_smokers <- 230 # Calcul des taux de mortalité mortality_rate_smokers <- deaths_smokers / total_smokers mortality_rate_non_smokers <- deaths_non_smokers / total_non_smokers # Fonction pour calculer l'intervalle de confiance binomial binom_conf_interval <- function(p, n, alpha = 0.05) { z <- qnorm(1 - alpha / 2) se <- sqrt(p * (1 - p) / n) lower <- p - z * se upper <- p + z * se return(c(lower, upper)) } # Calcul des intervalles de confiance ci_smokers <- binom_conf_interval(mortality_rate_smokers, total_smokers) ci_non_smokers <- binom_conf_interval(mortality_rate_non_smokers, total_non_smokers) # Création du graphique barplot( c(mortality_rate_smokers, mortality_rate_non_smokers), ylim = c(0, 0.4), names.arg = c("Fumeurs", "Non fumeurs"), ylab = "Taux de mortalité", col = c("lightblue", "lightgreen"), main = "Taux de mortalité par groupe avec intervalles de confiance" ) # Ajout des barres d'erreur pour les intervalles de confiance segments(1, ci_smokers[1], 1, ci_smokers[2], lwd = 2, col = "blue") segments(2, ci_non_smokers[1], 2, ci_non_smokers[2], lwd = 2, col = "green") ``` figure : sur le lien : output: file:///Users/alexandre/Sujet-6-MOOC.html : 1er figure En quoi ce résultat est-il surprenant ? ce résultat est surprenant car le taux de mortalité est plus élevée chez les femmes non fumeuses # 2ème questions 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. ```{r} library(ggplot2) # Convertir la colonne "age" en type numérique data$age <- as.numeric(as.character(data$age)) # Créer des classes d'âge data$age_category <- cut(data$Age, breaks = c(18, 34, 54, 65, Inf), labels = c("18-34 ans", "34-54 ans", "55-64 ans", "plus de 65 ans")) # Calculer le taux de mortalité pour chaque catégorie d'âge et pour les fumeurs et les non-fumeurs taux_mortalite <- aggregate(data$Status== "Dead", by = list(data$Smoker, data$age_category), FUN = mean) # Renommer les colonnes pour plus de clarté colnames(taux_mortalite) <- c("Smoker", "Age_Category", "Mortality_Rate") # Filtrer les données pour exclure les valeurs NA taux_mortalite <- na.omit(taux_mortalite) # Afficher les résultats print(taux_mortalite) # Créer un graphique à barres pour visualiser le taux de mortalité par catégorie d'âge et pour les fumeurs et les non-fumeurs ggplot(taux_mortalite, aes(x = Age_Category, y = Mortality_Rate, fill = Smoker)) + geom_bar(stat = "identity", position = "dodge") + labs(x = "Catégorie d'âge", y = "Taux de mortalité", fill = "Fumeur") + ggtitle("Taux de mortalité par catégorie d'âge et par fumeur/non-fumeur") + theme_minimal() ``` figure sur le lien : output: file:///Users/alexandre/Sujet-6-MOOC.html : 3 ème figure (avant dernière) ce résultat est surprenant car pour la classe d'âge 65 et plus, le taux de mortalité est pratiquement identique entre les fumeuses et non-fumeuses ce résultat doit être expliqué par l'augmentation de l'incidence de maladies plus sévère avec l'âge et que donc cela se confond avec le tabagisme # 3ème questions 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). ```{r} library(ggplot2) library(dplyr) # Chargement des données data <- read.csv("https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/-/raw/master/module3/Practical_session/Subject6_smoking.csv") # Création de la variable "Death" data$Death <- ifelse(data$Status == "Dead", 1, 0) # Réalisation de la régression logistique pour les fumeuses regression_fumeuses <- glm(Death ~ Age, data = filter(data, Smoker == "Yes"), family = binomial) # Réalisation de la régression logistique pour les non-fumeuses regression_non_fumeuses <- glm(Death ~ Age, data = filter(data, Smoker == "No"), family = binomial) # Résumé des résultats de la régression pour les fumeuses summary(regression_fumeuses) # Résumé des résultats de la régression pour les non-fumeuses summary(regression_non_fumeuses) # Représentation graphique des régressions ggplot(data, aes(x = Age, y = Death, color = Smoker)) + geom_point() + geom_smooth(method = "glm", method.args = list(family = "binomial"), se = TRUE) + labs(x = "Âge", y = "Probabilité de décès", color = "Fumeur") + ggtitle("Régression logistique de la probabilité de décès en fonction de l'âge par groupe de fumeur/non-fumeur") ``` figure sur le lien : output: file:///Users/alexandre/Sujet-6-MOOC.html : 4ème figure (dernière) Pour les âges inférieurs à 65 ans, le tabagisme est nocif puisque le taux de mortalité est plus élevé chez les fumeuses que les non-fumeuses mais au-dessus de cet âge (de 65 ans), la courbe s'inverse légèrement ce qui indique que le taux de mortalité est presque identique