Nous souhaitons travailler sur un fichier enregistré localement pour assurer une analyse reproductible (protection contre une suppression ou modification des données, de l'URL, du Réseau Sentinelles...).
Nous vérifions tout d'abord si un fichier local existe. Si c'est le cas, nous allons travailler à partir de ce fichier, sinon nous téléchargeons les données.
```{r}
data_file = "syndrome-grippal.csv"
if(!file.exists(data_file)) {
download.file(data_url, data_file)
}
```
Voici l'explication des colonnes donnée sur le [sur le site d'origine](https://ns.sentiweb.fr/incidence/csv-schema-v1.json):
| Nom de colonne | Libellé de colonne |
...
...
@@ -41,21 +52,13 @@ Voici l'explication des colonnes donnée sur le [sur le site d'origine](https://
| `geo_insee` | Code de la zone géographique concernée (Code INSEE) http://www.insee.fr/fr/methodes/nomenclatures/cog/ |
| `geo_name` | Libellé de la zone géographique (ce libellé peut être modifié sans préavis) |
### Téléchargement
On souhaite travailler sur un fichier local préalablement téléchargé, pour assurer une analyse reproductible.
On commence par tester si un fichier local existe. Si c'est le cas, on travaille à partir de ce fichier, sinon on en crée un à partir des données téléchargées.
### Lecture
La première ligne du fichier CSV est un commentaire, que nous ignorons en précisant `skip=1`.
```{r}
# On regarde dans le dossier local si le fichier existe, sinon on le télécharge
if(!file.exists("./incidence-PAY-3.csv")) {
download.file(data_url, "./incidence-PAY-3.csv")
}
# Importation du fichier
data <- read.csv("incidence-PAY-3.csv", skip=1)
data <- read.csv(data_file, skip=1)
```
Regardons ce que nous avons obtenu:
```{r}
head(data)
...
...
@@ -76,7 +79,7 @@ class(data$inc)
La classe de la colonne `inc` est un facteur mais devrait être un entier, cela est dû à la ligne avec des donénes manquantes qui contient un "-" pour cette colonne. Solution : importer de nouveau les données en indiquant que le tiret est à considérer comme une valeur manquante.
```{r}
data <- read.csv("incidence-PAY-3.csv", skip=1, na.strings = "-")
data <- read.csv(data_file, skip=1, na.strings = "-")
```
On vérifie de nouveau les classes des colonnes d'intérêt :