From 53ebf0c86335822262dabfbb9d4461ccdadb57e7 Mon Sep 17 00:00:00 2001 From: Ariane Ducher Date: Wed, 28 Oct 2020 11:45:48 +0100 Subject: [PATCH] avec des annotations --- module3/exo1/analyse-syndrome-grippal.Rmd | 30 ++++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/module3/exo1/analyse-syndrome-grippal.Rmd b/module3/exo1/analyse-syndrome-grippal.Rmd index 6a51810..de97c71 100644 --- a/module3/exo1/analyse-syndrome-grippal.Rmd +++ b/module3/exo1/analyse-syndrome-grippal.Rmd @@ -17,6 +17,15 @@ Les données de l'incidence du syndrome grippal sont disponibles du site Web du data_url = "http://www.sentiweb.fr/datasets/incidence-PAY-3.csv" ``` +Pour nous protéger contre une éventuelle disparition ou modification du serveur du Réseau Sentinelles, nous faisons une copie locale de ce jeux de données que nous préservons avec notre analyse. Il est inutile et même risquée de télécharger les données à chaque exécution, car dans le cas d'une panne nous pourrions remplacer nos données par un fichier défectueux. Pour cette raison, nous téléchargeons les données seulement si la copie locale n'existe pas. + +```{r} +data_file = "syndrome-grippal.csv" +if (!file.exists(data_file)) { + download.file(data_url, data_file, method="auto") +} +``` + Voici l'explication des colonnes donnée sur le [sur le site d'origine](https://ns.sentiweb.fr/incidence/csv-schema-v1.json): | Nom de colonne | Libellé de colonne | @@ -34,12 +43,15 @@ Voici l'explication des colonnes donnée sur le [sur le site d'origine](https:// La première ligne du fichier CSV est un commentaire, que nous ignorons en précisant `skip=1`. -### Téléchargement +### Lecture +```{r} +data = read.csv(data_file, skip=1) +``` + Regardons ce que nous avons obtenu: ```{r} -data = read.csv(data_url, skip=1) head(data) ``` @@ -94,7 +106,7 @@ Vérifions qu'elle est de classe `Date`: class(data$date) ``` -Les points sont dans l'ordre chronologie inverse, il est donc inutile de les trier: +Les points sont dans l'ordre chronologique inverse, il est donc utile de les trier: ```{r} data = data[order(data$date),] @@ -105,11 +117,17 @@ C'est l'occasion pour faire une vérification: nos dates doivent être séparée ```{r} all(diff(data$date) == 7) ``` + +### Inspection + Regardons enfin à quoi ressemblent nos données ! ```{r} +plot(data$date, data$inc, type="l", xlab="Date", ylab="Incidence hebdomadaire") with(data, plot(date, inc, type="l", xlab="Date", ylab="Incidence hebdomadaire")) + ``` +*les deux formaules sont équivalentes* Un zoom sur les dernières années montre mieux la localisation des pics en hiver. Le creux des incidences se trouve en été. ```{r} @@ -142,7 +160,7 @@ Nous créons un nouveau jeu de données pour l'incidence annuelle, en applicant ```{r} inc_annuelle = data.frame(annee = annees, - incidence = sapply(annees, pic_annuel)) + incidence = sapply(annees, pic_annuel)) head(inc_annuelle) ``` @@ -150,7 +168,7 @@ head(inc_annuelle) Voici les incidences annuelles en graphique: ```{r} -plot(inc_annuelle, type="p", xlab="Année", ylab= "Incidence annuelle") +plot(inc_annuelle, type="p", xlab="Année", ylab="Incidence annuelle") ``` ### Identification des épidémies les plus fortes @@ -164,7 +182,7 @@ head(inc_annuelle[order(-inc_annuelle$incidence),]) Enfin, un histogramme montre bien que les épidémies fortes, qui touchent environ 10% de la population française, sont assez rares: il y en eu trois au cours des 35 dernières années. ```{r} -hist(incidence_annuelle$incidence, breaks=10, xlab="Incidence annuelle", ylab="Nb d'observations", main="") +hist(inc_annuelle$incidence, breaks=10, xlab="Incidence annuelle", ylab="Nb d'observations", main="") ``` -- 2.18.1