Nouveau exercice_fr.Rmd

parent 6cec99a4
---
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}
......
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