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"
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
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
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.
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)