--- title: "analyse de l'incidence du syndrome grippal" output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) options(OutDec=",") options(width=150) ``` # Préparation de données Les données de l'incidence du syndrome grippal sont disponibles du site Web du [Réseau Sentinelles](http://www.sentiweb.fr/). Nous les récupérons sous forme d'un fichier en format CSV dont chaque ligne correspond à une semaine de la période demandée. Nous téléchargeons toujours le jeu de données complet, qui commence en 1984 et se termine avec une semaine récente. L'URL est: ```{r} #url = "http://www.sentiweb.fr/datasets/incidence-PAY-3.csv" ``` La première ligne du fichier CSV est un commentaire, que nous ignorons en précisant `skip=1`. # Télechargement ```{r} data = read.csv(trimws("http://www.sentiweb.fr/datasets/incidence-PAY-3.csv"), skip=1) head(data) tail(data) ``` # Vérification # Y-a-t-il des données manquantes dans la base de données ? ```{r} na_records = apply(data, 1, function(x) any(is.na(x))) data[na_records,] ``` # Comment R interprète nos données ? ```{r} class(data$week) class(data$inc) ``` # Conversions ```{r} library(parsedate) convert_week = function(date) { ws = paste(date) iso = paste0(substring(ws,1,4), "-W", substring(ws,5,6)) as.character(parse_iso_8601(iso)) } ``` ```{r} data$date = as.Date(sapply(data$week, convert_week)) ``` ```{r} class(data$date) ``` # Nous trions des données dans le sens chronologique ```{r} data = data[order(data$date),] ``` ### Inspection A quoi ressemblent nos données ? ```{r} plot(data$date, data$inc, type="l", xlab="Date", ylab="Incidence hebdomadaire") ``` Zoom sur les dernières années ```{r} with(tail(data, 200), plot(date, inc, type="l", xlab="Date", ylab="Incidence hebdomadaire")) ``` # L'incidence annuelle Calcul ```{r} annee = 1986 pic_annuel = function(annee) { debut = paste0(annee-1,"-08-01") fin = paste0(annee,"-08-01") semaines = data$date > debut & data$date <= fin sum(data$inc[semaines], na.rm=TRUE) } ``` Nous incluons l'année 1985 mais pas l'année 2020 qui n'est pas compète ```{r} annees = 1985:2019 ``` Nous calculons le pic annuel pour chaque année ```{r} inc_annuelle = data.frame(annee = annees, incidence = sapply(annees, pic_annuel)) head(inc_annuelle) ``` # Insoection graphique ```{r} plot(inc_annuelle, type="p", xlab="Année", ylab="Incidence annuelle") ```