2 Préparer vos données
2.1 Importer des données
2.1.1 Structure d’import
On va d’abord importer une donnée dans R, de la façon suivante :
nom_du_fichier <- read_extension("chemin_du_fichier.extension")
Cette instruction comprend 4 éléments :
- Le nom de la table cible :
nom_du_fichier
. Son choix est libre mais ne doit pas comprendre d’espaces ou d’accents ; - Le pointeur :
<-
, qui permet de remplir la table cible ; - Une fonction de lecture :
read_extension()
qui diffère selon le type de fichier ; - Le chemin du fichier, entre guillemets :
"chemin_du_fichier.extension"
. Comme on se situe dans un projet RStudio, celui-ci part de la racine du projet.
VOtre console peut vous renvoyer certaines informations sur la façon dont R encode les colonnes (en numérique, en caractère, etc.).
2.1.2 Exemples
Le package readxl
nous permet d’importer des fichiers Excel. Par exemple ici pour le fichier bmo_2019_idf.xlsx
qui se situe dans le dossier data
:
Si le fichier avait été :
- en .xls, l’instruction aurait été
read_xls
; - en .csv,
read_csv2()
du packagereadr
; - en SAS (en .sas7bdat),
read_sas
du packagehaven
; - dans d’autres formats, il existe des fonctions spécifiques.
2.1.3 Afficher la table
On peut ensuite afficher la table de données importée de deux façons :
- La première consiste à l’afficher dans la console en exécutant le nom de la table. Cela affiche des informations sur le type des colonnes et le nombre de lignes et de colonnes.
## # A tibble: 4,572 x 8
## gd_secteur_bmo reg dep bassin_bmo ze nb_proj_tot nb_proj_diff nb_proj_sais
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>
## 1 Agriculture 01 971 0101 0101 77.0 58.5 26.5
## 2 Agriculture 01 971 0101 0102 180. 40.9 0
## 3 Agriculture 01 971 0102 0106 119. 67.0 94.0
## 4 Agriculture 01 971 0103 0103 25.8 25.8 13.8
## 5 Agriculture 01 971 0105 0101 26.4 5.47 5.47
## 6 Agriculture 02 972 0201 0201 37.3 33.3 0
## 7 Agriculture 02 972 0202 0204 92.2 19.7 69.6
## 8 Agriculture 02 972 0202 0206 174. 84.0 85.6
## 9 Agriculture 02 972 0203 0202 52.6 7.56 52.6
## 10 Agriculture 02 972 0203 0203 173. 49.0 138.
## # ... with 4,562 more rows
- La seconde consiste à visualiser la table avec l’instruction
View(nom_de_la_table)
. Cela va afficher un onglet à part. A éviter dans le cas de grosses tables.
2.2 Pour la cartographie
Pour réaliser une carte, il faut avoir une table de données à visualiser, qui comprend :
- un identifiant spatial : code commune, bassin, département, région, etc. ;
- une valeur : cela peut être une donnée continue (valeur numérique) ou discrète (classe d’une classification par exemple, discrétisation d’une valeur continue).
Cette table directement importée sous ce format.
Elle peut être aussi calculée avec R.
Pour notre table, on somme par département puis on calcule la part de projets difficiles et on découpe en classes cette part.
bmo_dep <- bmo_secteur %>%
group_by(dep) %>%
summarise(nb_proj_tot = sum(nb_proj_tot),
nb_proj_diff = sum(nb_proj_diff)) %>%
mutate(
part_diff = nb_proj_diff / nb_proj_tot * 100,
part_diff_classes = cut(
part_diff,
include.lowest = TRUE,
breaks = c(0, 40, 50, 60, 100),
labels = c("Moins de 40 %", "40-50 %", "50-60 %", "60% et plus")
)
)
La table aura alors la forme suivante :
## # A tibble: 104 x 5
## dep nb_proj_tot nb_proj_diff part_diff part_diff_classes
## <chr> <dbl> <dbl> <dbl> <fct>
## 1 01 18464. 10859. 58.8 50-60 %
## 2 02 18418. 9851. 53.5 50-60 %
## 3 03 9394. 4517. 48.1 40-50 %
## 4 04 9686. 4509. 46.6 40-50 %
## 5 05 12376. 5166. 41.7 40-50 %
## 6 06 54174. 25030. 46.2 40-50 %
## 7 07 15975. 7351. 46.0 40-50 %
## 8 08 6233. 3422. 54.9 50-60 %
## 9 09 6454. 2327. 36.1 Moins de 40 %
## 10 10 15068. 6773. 44.9 40-50 %
## # ... with 94 more rows