From ae3f3bc902196c6e8659564867fa6c4ee3f9cae7 Mon Sep 17 00:00:00 2001 From: 2391b35e42aa93fb5b9c8666a36d9044 <2391b35e42aa93fb5b9c8666a36d9044@app-learninglab.inria.fr> Date: Sat, 8 Nov 2025 22:41:34 +0000 Subject: [PATCH] Nouveau exercice_fr.Rmd --- module3/exo2/exercice_fr.Rmd | 97 ++++++++++++++++++++++++++++++++++-- 1 file changed, 94 insertions(+), 3 deletions(-) diff --git a/module3/exo2/exercice_fr.Rmd b/module3/exo2/exercice_fr.Rmd index 7eece5e..d484340 100644 --- a/module3/exo2/exercice_fr.Rmd +++ b/module3/exo2/exercice_fr.Rmd @@ -1,9 +1,100 @@ --- -title: "Votre titre" -author: "Votre nom" -date: "La date du jour" +title: "Exercice 3 p2" +author: "Caroline" +date: "08/11/2025" output: html_document --- +# --------------------------------------------------------------------------- +# 📝 Exercice 03 (2e partie) – Analyse de l'incidence de la varicelle +# +# Objectif : +# Adapter l'analyse du syndrĂŽme grippal pour Ă©tudier l'incidence de la varicelle. +# Nous utilisons une copie locale des donnĂ©es du RĂ©seau Sentinelles +# et dĂ©finissons l’annĂ©e Ă©pidĂ©miologique du 1er septembre (annĂ©e N–1) +# au 1er septembre (annĂ©e N). +# --------------------------------------------------------------------------- + +# --- Import des donnĂ©es : copie locale rĂ©plicable --- + +# URL d’origine (traçabilitĂ©) +origin_url <- "http://www.sentiweb.fr/datasets/incidence-PAY-1.csv" +# (⚠ vĂ©rifier sur le site du RĂ©seau Sentinelles pour la varicelle ; +# les numĂ©ros peuvent changer selon la pathologie.) + +# RĂ©pertoire local pour stocker la copie +local_dir <- "module3/exo2/data" +dir.create(local_dir, showWarnings = FALSE, recursive = TRUE) + +# Nom du fichier local +local_csv <- file.path(local_dir, "incidence_varicelle_fr_metropolitaine.csv") + +# 1ïžâƒŁ TĂ©lĂ©charger si la copie locale n’existe pas +if (!file.exists(local_csv)) { + message("TĂ©lĂ©chargement des donnĂ©es de varicelle depuis le RĂ©seau Sentinelles
") + utils::download.file(origin_url, destfile = local_csv, mode = "wb", quiet = TRUE) +} + +# 2ïžâƒŁ Lecture du fichier local +data <- read.csv(local_csv, + skip = 1, + na.strings = c("-", "", "NA"), + stringsAsFactors = FALSE) + +names(data) <- trimws(tolower(names(data))) +if (!"inc" %in% names(data) && "inc100" %in% names(data)) { + data$inc <- data$inc100 +} + +stopifnot(all(c("week", "inc") %in% names(data))) + +# --- Conversion des semaines ISO en dates --- +library(parsedate) + +convert_week <- function(w) { + ws <- paste(w) + iso <- paste0(substring(ws, 1, 4), "-W", substring(ws, 5, 6)) + as.character(parse_iso_8601(iso)) +} + +data$date <- as.Date(convert_week(data$week)) +data <- data[order(data$date), ] + +# VĂ©rification que les semaines sont espacĂ©es de 7 jours +message("Espacement des semaines correct ? ", all(diff(data$date) == 7)) + +# --- Inspection visuelle --- +plot(data$date, data$inc, type = "l", col = "blue", + xlab = "Date", ylab = "Incidence hebdomadaire (varicelle)", + main = "Évolution hebdomadaire de la varicelle") + +# --- Calcul de l’incidence annuelle (annĂ©e Ă©pidĂ©miologique = 1er septembre) --- +pic_annuel <- function(annee) { + debut <- paste0(annee - 1, "-09-01") + fin <- paste0(annee, "-09-01") + semaines <- data$date > debut & data$date <= fin + sum(data$inc[semaines], na.rm = TRUE) +} + +annees <- seq(1986, as.numeric(format(Sys.Date(), "%Y")) - 1) +inc_annuelle <- data.frame( + annee = annees, + incidence = sapply(annees, pic_annuel) +) + +# --- Visualisations --- +plot(inc_annuelle, type = "b", col = "darkgreen", + xlab = "AnnĂ©e", ylab = "Incidence annuelle (cas / 100 000 hab.)", + main = "Incidence annuelle de la varicelle") + +hist(inc_annuelle$incidence, breaks = 10, col = "skyblue", border = "white", + xlab = "Incidence annuelle", main = "Distribution des Ă©pidĂ©mies de varicelle") + +# --- Identification des annĂ©es extrĂȘmes --- +max_year <- inc_annuelle$annee[which.max(inc_annuelle$incidence)] +min_year <- inc_annuelle$annee[which.min(inc_annuelle$incidence)] + +cat("AnnĂ©e avec Ă©pidĂ©mie la plus forte :", max_year, "\n") +cat("AnnĂ©e avec Ă©pidĂ©mie la plus faible :", min_year, "\n") ```{r setup, include=FALSE} -- 2.18.1