diff --git a/module3/exo3/epidemio-grippe.html b/module3/exo3/epidemio-grippe.html new file mode 100644 index 0000000000000000000000000000000000000000..2b8799eb87ba45d27ee9efbafd6805dbbd0eed23 --- /dev/null +++ b/module3/exo3/epidemio-grippe.html @@ -0,0 +1,523 @@ + + + + + + + + + + + + + + + +Syndrome Grippal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+

Import des données

+
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)
+
## [1] "integer"
+
class(data$inc)
+
## [1] "character"
+
class(data$inc)='character'
+class(data$inc)
+
## [1] "character"
+
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)
+
## [1] "integer"
+
+
+

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

+
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

+
data$date = as.Date(sapply(data$week, convert_week))
+
class(data$date)
+
## [1] "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.

+
data=data[order(data$date),]
+
head(data)
+
##        week indicator    inc inc_low inc_up inc100 inc100_low inc100_up
+## 2078 198444         3  68422   20056 116788    125         37       213
+## 2077 198445         3 135223  101414 169032    246        184       308
+## 2076 198446         3  87330   67686 106974    159        123       195
+## 2075 198447         3  72029   54274  89784    131         99       163
+## 2074 198448         3  78620   60634  96606    143        110       176
+## 2073 198449         3 101073   81684 120462    184        149       219
+##      geo_insee geo_name       date
+## 2078        FR   France 1984-10-29
+## 2077        FR   France 1984-11-05
+## 2076        FR   France 1984-11-12
+## 2075        FR   France 1984-11-19
+## 2074        FR   France 1984-11-26
+## 2073        FR   France 1984-12-03
+
all(diff(data$date)==7)
+
## [1] TRUE
+
+
+

Visualisation des données

+
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)

+
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.

+
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

+
annees = 1986:2024
+

Nous créons un nouveau tableau ‘incidence_annuelle’ avec les colonnes +‘annee’ et ‘incidence’ en appliquant la fontion +pic_annuelcrée juste avant.

+
incidence_annuelle = data.frame(annee=annees,
+                                incidence = sapply(annees, pic_annuel))
+
head(incidence_annuelle)
+
##   annee incidence
+## 1  1986   5100540
+## 2  1987   2861556
+## 3  1988   2766142
+## 4  1989   5460155
+## 5  1990   5233987
+## 6  1991   1660832
+

Nous visualisons les données ainsi traitées

+
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.

+
head(incidence_annuelle[order(-incidence_annuelle$incidence),])
+
##    annee incidence
+## 4   1989   5460155
+## 5   1990   5233987
+## 1   1986   5100540
+## 28  2013   4182265
+## 25  2010   4085126
+## 14  1999   3897443
+

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.

+
hist(incidence_annuelle$incidence, breaks = 10)
+

+
+
+ + + + +
+ + + + + + + + + + + + + + +