exo2

parent f249448c
--- ---
title: "Votre titre" title: "Incidence de la varicelle"
author: "Votre nom" author: "Votre nom"
date: "La date du jour" date: "septembre 2020"
output: html_document output: html_document
classoption: a4paper
header-includes:
- \usepackage[french]{babel}
--- ---
# Préambule et téléchargement
```{r setup, include=FALSE} ```{r setup}
knitr::opts_chunk$set(echo = TRUE) 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 : <https://www.sentiweb.fr/datasets/incidence-PAY-7.csv>.
## Quelques explications Nous le téléchargeons le 19 septembre 2020.
Ceci est un document R markdown que vous pouvez aisément exporter au format HTML, PDF, et MS Word. Pour plus de détails sur R Markdown consultez <http://rmarkdown.rstudio.com>. 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.
Lorsque vous cliquerez sur le bouton **Knit** ce document sera compilé afin de ré-exécuter le code R et d'inclure les résultats dans un document final. Comme nous vous l'avons montré dans la vidéo, on inclue du code R de la façon suivante: ```{r}
data_url = "http://www.sentiweb.fr/datasets/"
data_filename = "incidence-PAY-7.csv"
```{r cars} if(!file.exists(data_filename)) {
summary(cars) download.file(paste(data_url, data_filename, sep=""), data_filename)
}
``` ```
Et on peut aussi aisément inclure des figures. Par exemple: # Inspection du fichier
```{r pressure, echo=FALSE} On charge de fichier et on l'affiche.
plot(pressure)
```{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)
``` ```
Vous remarquerez le paramètre `echo = FALSE` qui indique que le code ne doit pas apparaître dans la version finale du document. Nous vous recommandons dans le cadre de ce MOOC de ne pas utiliser ce paramètre car l'objectif est que vos analyses de données soient parfaitement transparentes pour être reproductibles. 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
}
Comme les résultats ne sont pas stockés dans les fichiers Rmd, pour faciliter la relecture de vos analyses par d'autres personnes, vous aurez donc intérêt à générer un HTML ou un PDF et à le commiter. 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)
```
Maintenant, à vous de jouer! Vous pouvez effacer toutes ces informations et les remplacer par votre document computationnel.
This diff is collapsed.
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