exercice epidemio grippe avec données stockées en local

parent 61bad1a7
---
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)
```
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