17 Spatial Data
En cours de progression. Toute amélioration est la bienvenue. Si vous souhaitez participer rendez vous sur contribuer au repo.
17.1 Les choropleth maps
Les choropleth maps utilisent de la couleur pour indiquer la valeur d’une variable dans une région définie, généralement région politiques. “Mapping in R just got a whole lot easier” par Sharon Machlis (2017-03-03) propose un tutoriel sur l’utilisation des packages tmap, tmaptools, et tigris pour créer des choropleth maps. Notez qu’avec cette approche, vous devrez fusionner des shapefiles géographiques avec vos autres données, avant de mapper.
“Step-by-Step Choropleth Map in R: A case of mapping Nepal” parcourt le processus de création d’une choropleth map avec rgdal et ggplot2. (Nous n’avons suivi aucun de ces tutoriels pas à pas…. Si vous le faites, veuillez donner votre avis en soumettant un avis).
Le package choroplethr permet de dessiner facilement des choropleth maps des États américains, pays et secteurs de recensement, ainsi que les pays du monde sans traiter directement avec les shapefiles. Son compagnon le package, choroplethrZip, fournit des données pour faire des choropleth sur les zip code; choroplethrAdmin1 dessine des choropleths pour les régions administratives des pays du monde. Ce qui suit est un bref tutoriel sur l’utilisation de ces packages.
Remarque: Vous devrez aussi installer choroplethrMaps pour pouvoir travailler avec choroplethr. En outre, choroplethr possède un certain nombre d’autres dépendances qui devraient être installé automatiquement, mais si elles ne l’étaient pas, vous pouvez les installer manuellement le package manquant en appelant library(choroplethr)
: maptools, et rgdal, sp.
Maintenant nous allons utiliser le jeu de données state.x77
pour cet exemple:
library(tidyverse)
library(choroplethr)
# data frame doit contenir "region" et "value" columns
df_illiteracy <- state.x77 %>% as.data.frame() %>%
rownames_to_column("state") %>%
transmute(region = tolower(`state`), value = Illiteracy)
state_choropleth(df_illiteracy,
title = "State Illiteracy Rates, 1977",
legend = "Percent Illiterate")
Remarque: le “cours gratuit” choroplethr
sur lequel vous pourriez tomber arrive un cours à la fois, il ne constitue donc pas la meilleure option, à moins que vous ne disposiez de quelques semaines à perdre.
17.2 Square bins
Les packages tels que statebins
permettent de créer des choropleth maps des régions en maintenant approximativement l’emplacement de la région, mais ni la taille ni la forme.
Important: N’installez pas statebins
depuis CRAN; utilisez la version en développement – il contient de nombreuses améliorations, détaillées dans “Statebins Reimagined”.
# devtools::install_github("hrbrmstr/statebins")
library(statebins)
df_illit <- state.x77 %>% as.data.frame() %>%
rownames_to_column("state") %>%
select(state, Illiteracy)
# Remarque: direction = 1 change l'ordre des fill scale
# les nuances si foncées représentent des taux d'analphabétisme plus élevés
# (The default is -1).
statebins(df_illit, value_col="Illiteracy",
name = "%", direction = 1) +
ggtitle("State Illiteracy Rates, 1977") +
theme_statebins()
17.3 Données sur la Longitude / Latitude
Notez que les options ci-dessus fonctionnent avec les frontières politiques, basé sur les noms des régions que vous fournissez. Ces maps requièrent des packages avec des informations sur les limites géographiques. Les données de longitude / latitude, d’autre part, peuvent être tracées simplement avec un scatterplot où x = longitude et y = latitude, sans aucune maps contextuelle (juste ne pas confondre x & y!). La première partie de “Data wrangling visualisation and spatial analysis: R Workshop” par C. Brown, D. Schoeman, A. Richardson, et B. Venables fournit une procédure détaillée d’exploration et d’analyse de données spatiales avec les données copepod (un type de zooplancton) en utilisant cette technique avec ggplot2::geom_point()
.
Si on veut ajouter un fond d’écran, il y a plusieurs options. Le tutoriel mentionné ci-dessus fournit des exemples en utilisant les packages maps ou sf. C’est une ressource hautement recommandée, car elle couvre une grande partie du processus de la Data Science, notamment dans le contexte de l’obtention, du nettoyage, de la transformation des données, de l’exploration des données,de la modélisation et de la prédiction.
Un autre bon choix pour les maps contextualisées est ggmap, qui offre plein d’options différentes. L’API Google Maps était la solution idéale, mais maintenant elle vous demande de souscrire à la solution payante Google Cloud. A votre inscription, vous obtiendrez un crédit gratuit de 300 USD, mais si vous ne souhaitez pas fournir de carte de crédit lors de l’inscription, vous pouvez utiliser Stamen Maps la fonction get_stamenmap()
à la place. Utilisez la version de développement du package; des instructions et de nombreux exemples sont disponibles sur la page GitHub “Getting started Stamen maps with ggmap” et vous aidera à démarrer avec les maps Stamen à travers notamment un exemple utilisant le jeu de données Sacramento dans le package caret.
with