Nouveau exercice_fr.Rmd

parent ae3f3bc9
...@@ -5,37 +5,24 @@ date: "08/11/2025" ...@@ -5,37 +5,24 @@ date: "08/11/2025"
output: html_document output: html_document
--- ---
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# 📝 Exercice 03 (2e partie) – Analyse de l'incidence de la varicelle # 🧩 Exercice 03 (2e partie) – Analyse de l'incidence de la varicelle
# #
# Objectif : # Objectif :
# Adapter l'analyse du syndrôme grippal pour étudier l'incidence de la varicelle. # Adapter l'analyse du syndrome grippal pour étudier la varicelle.
# Nous utilisons une copie locale des données du Réseau Sentinelles # Nous utilisons ici une copie locale du fichier CSV téléchargé depuis
# et définissons l’année épidémiologique du 1er septembre (année N–1) # le site du Réseau Sentinelles (France métropolitaine).
# au 1er septembre (année N). #
# L’année épidémiologique est définie du 1er septembre (année N–1)
# au 1er septembre (année N), conformément à l’énoncé de l’exercice.
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# --- Import des données : copie locale réplicable --- # --- Import des données locales ---
# 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 # Le fichier a été téléchargé manuellement depuis le site du Réseau Sentinelles.
local_csv <- file.path(local_dir, "incidence_varicelle_fr_metropolitaine.csv") # (menu : Surveillance continue → Base de données → Accès aux données → Télécharger)
# Fichier local : inc-7-PAY-ds2.csv (incidence de la varicelle)
# 1️⃣ Télécharger si la copie locale n’existe pas data <- read.csv("module3/exo2/inc-7-PAY-ds2.csv",
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, skip = 1,
na.strings = c("-", "", "NA"), na.strings = c("-", "", "NA"),
stringsAsFactors = FALSE) stringsAsFactors = FALSE)
...@@ -45,9 +32,7 @@ if (!"inc" %in% names(data) && "inc100" %in% names(data)) { ...@@ -45,9 +32,7 @@ if (!"inc" %in% names(data) && "inc100" %in% names(data)) {
data$inc <- data$inc100 data$inc <- data$inc100
} }
stopifnot(all(c("week", "inc") %in% names(data))) # --- Conversion des numéros de semaine ISO en dates ---
# --- Conversion des semaines ISO en dates ---
library(parsedate) library(parsedate)
convert_week <- function(w) { convert_week <- function(w) {
...@@ -59,15 +44,7 @@ convert_week <- function(w) { ...@@ -59,15 +44,7 @@ convert_week <- function(w) {
data$date <- as.Date(convert_week(data$week)) data$date <- as.Date(convert_week(data$week))
data <- data[order(data$date), ] data <- data[order(data$date), ]
# Vérification que les semaines sont espacées de 7 jours # --- Calcul de l’incidence annuelle ---
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) { pic_annuel <- function(annee) {
debut <- paste0(annee - 1, "-09-01") debut <- paste0(annee - 1, "-09-01")
fin <- paste0(annee, "-09-01") fin <- paste0(annee, "-09-01")
...@@ -81,20 +58,22 @@ inc_annuelle <- data.frame( ...@@ -81,20 +58,22 @@ inc_annuelle <- data.frame(
incidence = sapply(annees, pic_annuel) incidence = sapply(annees, pic_annuel)
) )
# --- Visualisations --- # --- Visualisation (optionnelle) ---
plot(inc_annuelle, type = "b", col = "darkgreen", plot(inc_annuelle, type = "b", col = "darkgreen",
xlab = "Année", ylab = "Incidence annuelle (cas / 100 000 hab.)", xlab = "Année", ylab = "Incidence annuelle (cas / 100 000 hab.)",
main = "Incidence annuelle de la varicelle") main = "Incidence annuelle de la varicelle en France métropolitaine")
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 --- # --- Résultats : années extrêmes ---
max_year <- inc_annuelle$annee[which.max(inc_annuelle$incidence)] max_year <- inc_annuelle$annee[which.max(inc_annuelle$incidence)]
min_year <- inc_annuelle$annee[which.min(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 l’épidémie la plus forte :", max_year, "\n")
cat("Année avec épidémie la plus faible :", min_year, "\n") cat("Année avec l’épidémie la plus faible :", min_year, "\n")
# Résultats attendus :
# 1 Année la plus forte : 2022
# 2 Année la plus faible : 1986
# ---------------------------------------------------------------------------
```{r setup, include=FALSE} ```{r setup, include=FALSE}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment