--- title: "Incidence de la varicelle" author: "Votre nom" date: "septembre 2020" output: html_document classoption: a4paper header-includes: - \usepackage[french]{babel} --- # Préambule et téléchargement ```{r setup} knitr::opts_chunk$set(echo = TRUE) library("ggplot2") ``` On s'intéresse à l'incidence de la varicelle en France. Pour cela on récupère auprès du projet [Sentinelle](https://www.sentiweb.fr/) le fichier d'incidence de la varicelle en France métropolitaine de 1991 à aujourd'hui. Le fichier est disponible à l'url : . Nous le téléchargeons le 19 septembre 2020. Le code suivant essayera de télécharger le fichier s'il ne le trouve pas dans le répertorie courant de la session R. ```{r} data_url = "http://www.sentiweb.fr/datasets/" data_filename = "incidence-PAY-7.csv" if(!file.exists(data_filename)) { download.file(paste(data_url, data_filename, sep=""), data_filename) } ``` # Inspection du fichier On charge de fichier et on l'affiche. ```{r} data = read.csv(data_filename, skip=1) head(data) tail(data) ``` On vérifie qu'il n'y ai pas de données manquantes. ```{r} na = apply(data, 1, function (x) any(is.na(x))) data[na,] ``` Aucune donnée manquante ! Parfait. # Pré traitement On vérifie le type des deux colonnes qui nous intéressent, la date et l'incidence. ```{r} sapply(data, class) ``` L'incidence est un entier, ça va. La date est aussi un entier, ça va pas. ## Conversion de la date On va convertir la date en utilisant la bibliothèque `parsedate`. ```{r} library(parsedate) convert_week = function(w) { ws = paste(w) iso = paste0(substring(ws, 1, 4), "-W", substring(ws, 5, 6)) iso } data$date = parse_iso_8601(convert_week(data$week)) ``` On vérifie que notre nouvelle colonne `date` est au bon format et que les données sont cohérentes avec une confirmation visuelle et en mesurant l'écart entre deux lignes. Si chaque ligne est une semaine alors, deux lignes sont séparés de 7 jours. Puisque les données sont décroissantes, alors -7 jours. ```{r} class(data$date) head(data) all(diff(data$date) == -7) ``` Tout semble en ordre. ## Inspection graphique Il est temps de visualiser nos données. ```{r} ggplot(data, aes(x=date, y=inc)) + geom_line() ``` Pour y voir plus clair, on ne regarde des périodes de temps plus réduite. ```{r} ggplot(tail(data, 200), aes(x=date, y=inc)) + geom_line() ``` ```{r} ggplot(head(data, 200), aes(x=date, y=inc)) + geom_line() ``` C'est assez intéressant, l'année 2020 semble ne pas respecter le schéma usuel. Peut-être le confinement due au Covid19 y est pour quelque chose ? # Incidence annuelle Cherchons à répondre à la question de l'exercice. Qu'elles est l'année avec l'incidence la plus faible et l'année avec l'incidence la plus forte ? La découpe annuelle se fera au 1er septembre, comme spécifié dans l'énoncé. ```{r} 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) } ``` Puisque 2020 est hors normes et pas fini, on l'ignore. Les données commencent en fin 1990. En toute rigueur notre année 1991 n'est donc pas complète et on l'ignore également. ```{r} annees = 1992:2019 ``` On créé un nouveau jeu de donnée que l'on inspecte. ```{r} inc_annuelle = data.frame( annee = annees, incidence = sapply(annees, pic_annuel)) head(inc_annuelle) ``` ## Inspection graphique On trace les données comme précédemment. ```{r} ggplot(inc_annuelle, aes(x=annee, y=incidence)) + geom_point() ``` ## Identification des épidémies les plus fortes On cherche l'année la plus faible en terme d'incidence. ```{r} head(inc_annuelle[order(inc_annuelle$incidence),], 1) ``` On cherche l'année la plus forte en terme d'incidence. ```{r} tail(inc_annuelle[order(inc_annuelle$incidence),], 1) ``` Pour finir on montre un histogramme, par ce que c'est sympa. ```{r} ggplot(inc_annuelle, aes(x=incidence)) + geom_histogram(bins=10) ```