diff --git a/module3/exo3/epidemio_grippe.Rmd b/module3/exo3/epidemio_grippe.Rmd new file mode 100644 index 0000000000000000000000000000000000000000..f738e692fbb43cf28fd52d1bcf4aa2de7fec1634 --- /dev/null +++ b/module3/exo3/epidemio_grippe.Rmd @@ -0,0 +1,116 @@ +--- +title: "Syndrome Grippal" +author: "Jerome Riera" +date: "2024-08-29" +output: + pdf_document: default + html_document: default +--- + +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = TRUE) +``` +## Import des données +```{r} +data<-read.csv("/Users/jeromeriera/Library/Mobile Documents/com~apple~CloudDocs/Thèse/MOOC RR/mooc rr/module3/inc-3-PAY.csv", skip = 1) +class(data$week) +class(data$inc) +class(data$inc)='character' +class(data$inc) +data<-read.csv("/Users/jeromeriera/Library/Mobile Documents/com~apple~CloudDocs/Thèse/MOOC RR/mooc rr/module3/inc-3-PAY.csv", skip = 1, na.strings = "-") +class(data$inc) +``` + +## Mise en forme des dates au format iso 8601 + +Nous utilisons la librairie `parsedate` pour cela et créons une fonction afin d'appliquer le code à l'ensemble des données +```{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)) +} + +``` + +Nous créons une nouvelle colone dans notre dataframe avec les dates converties et nous assurons qu'elles soint bine au format `Date` +```{r} +data$date = as.Date(sapply(data$week, convert_week)) +``` + +```{r} +class(data$date) +``` + +Nous ordonnons les données dans l'ordre chronologique, vérifions que les semaines font bien 7 jours, et vérifions à l'aide du code. +```{r} +data=data[order(data$date),] +``` + +```{r} +head(data) + +``` +```{r} +all(diff(data$date)==7) +``` + +## Visualisation des données + +```{r} +with(data, plot(date, inc, type='l')) +``` +Nous faisons un zoom afin de préciser ce qui est observable sur la premier graphique (pic d'incidence régulier à la période hivernale) +```{r} +with(tail(data,200), plot(date, inc, type='l')) +``` +## Réponses aux questions + +### Quelles sont les années où l'incidence est la plus élevée ? + +Nos données sont basées sur des semaines nous devons donc effectué une sommation pour observer les annés. Les pics étant à l'hiver, et afin de ne pas avoir d'erreur du fait de la variations du nombre de jour par an, nous définnissons les années comme allant du 1 aout au premier aout suivant et créons une fonction pour appliquer cela à l'ensemble des données. +```{r} +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) +} + + +``` + +N'ayant potentiellement pas les données complète de l'hiver 1984 nous ne prendrons en compte les données qu'à partir de l'année 1986 +```{r} +annees = 1986:2024 +``` + +Nous créons un nouveau tableau 'incidence_annuelle' avec les colonnes 'annee' et 'incidence' en appliquant la fontion `pic_annuel`crée juste avant. +```{r} +incidence_annuelle = data.frame(annee=annees, + incidence = sapply(annees, pic_annuel)) +``` + +```{r} +head(incidence_annuelle) +``` +Nous visualisons les données ainsi traitées +```{r} +plot(incidence_annuelle, type="p") +``` +Le graphique nous permet de voir que trois années ressortent du lot. Nous ordonnons le tableau 'incidence-annuelle' afin de visualiser les incidences en ordre décroissant. +```{r} +head(incidence_annuelle[order(-incidence_annuelle$incidence),]) +``` +Le tableau nous informe que ce sont les annéees 1989, 1990 et 1986 qui ont les incidences les plus élevées. + +### Fréquences des épidémies + +la réalisation d'un histogramme va nous permettre de visualiser la fréquence des épidémies de grippe. + +```{r} +hist(incidence_annuelle$incidence, breaks = 10) + +``` +