---
Titre : "Journal de bord"
Auteur : "LY"
Date : "15/03/2021"
---

Début d'utilisation : fin de la semaine 2

## Module 3

1. Analyse de données réplicable 

Résultat méthodologique devient ensemble des codes ayant permis de faire les calculs accompagnés d'une explication détaillée

2. Etude de cas : incidence des syndromes grippaux 

Format date selon la norme ISO 8601 des date : l'année commence par la 1ere semaine qui contient le 4 janvier ou celle qui a plus de la moitié des ces jours dans l'année en cours.

Ne jamais faire des modications de données à la main : plutôt avec du code.

3. Importer les données avec Rstudio / R 
 
environnement RStudio ; langage R ; bibliothèque parsedate pour la gestion des 
dates en format iso  

Important de lire les données directement de la source et faire attention aux données manquantes.

Pour charger un document d'un site web : insérer un chunk R dans le document markdown l'adresse 
Dans le chunk data_url = "lien url" 
Si première ligne à ignorer : écrire 'data = read.csv(data_url, skip=1)'

Pour voir les premières lignes de données : 'head(data)' 
Pour voir les dernière lignes de données : 'tail(data)'

Recherche de données manquantes 'données_manquantes = apply(data, 1, function(x) any(is.na(x)))'
Le "1" fait passer la commande ligne par ligne et la fonction fait la recherche de données manquantes colonne par colonne.

Pour inspecter le type de données : 'class(data$variable)';
Ceci donne : interger (Nb entier); factor (V. qualitative); 

Pour transformer une donnée comme "-" ou "?" en valeur manquante, il faut relire les données en spécifiant les valeur à lire comme valeur manquante :
'data = read.csv(data_url, skip=1, na.string = "-"'

4. Vérification et inspection des données  

date au format iso dans la librairie parsedate ;

Exple : 'date = 199501'
        conversion en chaine de caractères : 'ws = paste(date)'
        attribution année et semaines : 'iso = paste0(substring(ws, 1, 4) "-W", substring(ws, 5 ,6)'
        Le résultat : "1995-W01" correspondant semainte 7 de l'année 1982
        Ensuite faire appel à la fonction **parse_iso8601** soit parse_iso_8601(iso) 
        Ceci donne : "1995-01-02 UTC" soit la date du lundi de cette semaine.
        
        On transforme tout ce qui précède pour l'appliquer à une variable.
        'convert_week = fonction(date) {
            ws = paste(date)
            iso = paste0(substring(ws, 1, 4), "-W", sobstring(ws, 5, 6))
            parse_iso_8601(iso)
        }'
        Résultat à coller dans une nouvelle variable : sapply(data$week, convert_week)
        Malheureusement 'sapply' va donner des nombres entiers dans la base.
        Convertir alors la ligne parse_iso_8601 en chaine de caractère : 'as.character(parse_iso_9601(iso))
        Puis en date : 'data$date = as.Date (sapply(data$week, convert_week))'

Deuxième étape : classer les données par ordre chronologique : 'data = data[order(data$date),]'
    
    Vérifier si distance entre 2 dates voisines = 1 semaine : 'all(diff(data$date)) == 7'
    
    appliquer un plot : 'with(data, plot(V1, V2, type="l"))'
    Si trop serré, refaitre sur les 200 dernières lignes : 'with(tail(data, 200), plot(V1, V2, type="l"))'

A la fin vérifier les données par l'inspection visuelle (plot par exple) et des code de validation (vérifier distance entre deux semaines par exple).

5. Exercice 

