diff --git a/module3/exo2/exercice_fr.Rmd b/module3/exo2/exercice_fr.Rmd index 7eece5e296bb586e88166aa8a263ca75b44c2b9e..7f2b97c6f7318d735ee683b25c17b06fe616f631 100644 --- a/module3/exo2/exercice_fr.Rmd +++ b/module3/exo2/exercice_fr.Rmd @@ -1,7 +1,7 @@ --- -title: "Votre titre" -author: "Votre nom" -date: "La date du jour" +title: "analyse de l'incidence de la varicelle" +author: "Amandine" +date: "Le 8 Novembre 2024" output: html_document --- @@ -10,24 +10,165 @@ output: html_document knitr::opts_chunk$set(echo = TRUE) ``` -## Quelques explications +# Préparation des données -Ceci est un document R markdown que vous pouvez aisément exporter au format HTML, PDF, et MS Word. Pour plus de détails sur R Markdown consultez . +Etape 1 : récupérer les données + +Option 1 : via le site web +```{r} +#Import des données à partir du site web +data_url="https://www.sentiweb.fr/datasets/all/inc-7-PAY.csv" +``` + +Option 2 : import du fichier via un fichier téléchargé +```{r} +#Import des donnees a partir du fichier telecharge +data_file = "varicelle.csv" +#Permet de verifier que la copie locale n'existe pas +if (!file.exists(data_file)) { + download.file(data_url, data_file, method="auto") +} +``` + + +```{r} +#Lecture du fichier +data_v=read.csv(data_file,skip=1) +head(data_v) +``` + + +```{r} +#Affichage de la fin du fichier +tail(data_v) +``` + +# Vérifications + +Vérification de la présence de données manquantes +```{r} +#Verification qu'il n'y a pas de ligne avec des donnees manquantes +lignes_na=apply(data_v,1,function(x) any(is.na(x))) +data_v[lignes_na,] +``` +On voit qu'il n'y a pas de données manquantes dans ce fichier. + +Vérification du type de variable + +```{r} +#Verification du type de variable +class(data_v$week) +``` + +```{r} +#Verification du type de variable +class(data_v$inc) +``` +Les deux variables d'intérêt sont bien des entiers. + +# Changement du format des dates + +```{r} +#Chargement du package +library(parsedate) +``` + +```{r} +#Conversion du format de date +convert_week = function(w) { + ws = paste(w) + iso = paste0(substring(ws, 1, 4), "-W", substring(ws, 5, 6)) + as.character(parse_iso_8601(iso)) +} + +``` + +```{r} +#Application a tous les points +data_v$date=as.Date(sapply(data_v$week,convert_week)) +``` + + +```{r} +#Verification que la classe est bien "date" +class(data_v$date) +``` + +```{r} +#Permet de trier les points par ordre chronologique +data_v=data_v[order(data_v$date),] +``` + + +```{r} +#affichage +head(data_v) +``` + +```{r} +#Verification qu'il n'y a pas de ligne manquante +all(diff(data_v$date)==7) +``` + +# Inspection + +```{r} +#Visualisation de l'ensemble des donnees +with(data_v,plot(date,inc,type="l")) +``` + +```{r} +#zoom sur les dernieres annees +with(tail(data_v,200),plot(date,inc,type="l")) +``` + +# Incidence annuelle + +```{r} +#Calcul de l'incidence annuelle en considerant le 1er septembre comme le debut de chaque periode annuelle +pic_annuel = function(annee) { + debut = paste0(annee-1,"-09-01") + fin = paste0(annee,"-09-01") + semaines = data_v$date > debut & data_v$date <= fin + sum(data_v$inc[semaines], na.rm=TRUE) + } +``` + + +```{r} +#L'annee 1990 n'est pas complete : on commence donc à l'annee 1990 ; on garde l'annee 2024 car la semaine 44 a lieu apres le 1er septembre +annees=1991:2024 +``` + + +```{r} +#Creation jeu de donnees pour l'incidence annuelle +incidence_annuelle = data.frame(annee=annees,incidence=sapply(annees,pic_annuel)) +``` + +```{r} +#affichage du jeu de donnees +head(incidence_annuelle) +``` + + +```{r} +#representation graphique +plot(incidence_annuelle,type="l", xlab="Année", ylab="Incidence annuelle") +``` -Lorsque vous cliquerez sur le bouton **Knit** ce document sera compilé afin de ré-exécuter le code R et d'inclure les résultats dans un document final. Comme nous vous l'avons montré dans la vidéo, on inclue du code R de la façon suivante: -```{r cars} -summary(cars) +```{r} +#Affichage de la ligne avec la valeur d'incidence la plus elevee +inc_max=which.max(incidence_annuelle$incidence) +incidence_annuelle[inc_max,] ``` -Et on peut aussi aisément inclure des figures. Par exemple: -```{r pressure, echo=FALSE} -plot(pressure) +```{r} +#Affichage des valeurs les plus faibles +head(incidence_annuelle[order(incidence_annuelle$incidence),]) ``` -Vous remarquerez le paramètre `echo = FALSE` qui indique que le code ne doit pas apparaître dans la version finale du document. Nous vous recommandons dans le cadre de ce MOOC de ne pas utiliser ce paramètre car l'objectif est que vos analyses de données soient parfaitement transparentes pour être reproductibles. -Comme les résultats ne sont pas stockés dans les fichiers Rmd, pour faciliter la relecture de vos analyses par d'autres personnes, vous aurez donc intérêt à générer un HTML ou un PDF et à le commiter. -Maintenant, à vous de jouer! Vous pouvez effacer toutes ces informations et les remplacer par votre document computationnel.