2017-01-05 1 views
-2

J'ai essayé de construire une carte Choropleth/Bubble du Royaume-Uni pour mon propre projet de tableau de bord brillant.Comment créer une carte Choropleth ou Bubble du Royaume-Uni en R

Mon tableau de bord est un système de gestion de l'information sur les élèves et la carte est censée montrer aux élèves les régions (les codes postaux ou les villes conviennent également). Malheureusement, la plupart des paquets, tels que plotly et ggmap, ne couvrent que des informations sur les états des USA. Donc, quelqu'un pourrait me dire comment créer une carte pour le Royaume-Uni? Voici un exemple de ce que je suis en train d'accomplir: Choropleth Map for UK

+0

Essayez [This Post] (http://bl.ocks.org/prabhasp/raw/5030005/) – G5W

+1

Vous devez montrer à quoi ressemblent vos données, mais je pourrais suggérer [leaflet] (https: // rstudio .github.io/leaflet /), qui est raisonnablement facile à utiliser et aura l'air bien sur un site Web. Astuce: les bulles ne nécessitent que des points/lon pour les points, et seront donc beaucoup plus faciles qu'un choroplèthe, ce qui nécessite un fichier de formes avec des polygones. – alistaire

+0

@ G5W Bonjour, merci pour cet exemple. J'ai importé le fichier de forme ([link] (http://www.statsilk.com/files/country/StatPlanet_UK.zip)), mais je n'ai pas réussi à le convertir en frame de données en utilisant la fonction fortify. L'erreur est "rgeos_PolyCreateComment: trou orphelin, ne peut pas trouver contenant le polygone pour trou à l'index 2" Mon code est 'uk_dist <- readShapeSpatial (" ~/StatPlanet_UK/map/map.shp ") intrigue (uk_dist) bibliothèque (ggplot2) uk_dist <- fortifier (uk_dist, region = "NAME1") ' – sue94

Répondre

1

Ceci est une implémentation étape par étape de ce que je voulais dire par mon commentaire. Je n'ai pas utilisé le External Post que j'ai mentionné, mais il ressemble à une autre référence qui fait quelque chose comme ce que je fais pour faire une carte.

Comme @FR. dit dans sa réponse, GADM est un bon endroit pour obtenir les données cartographiques nécessaires - un fichier de formes.

Go to [GADM](http://www.gadm.org/) and click on the "Download" tab. 
Use the pulldown menu to select United Kingdom as the country. 
Change the file format to Shapefile. 
Click OK 
Click Download 
You should get a zip file called GBR_adm_shp.zip 
Unzip it someplace useful 
There should be a bunch of files with extensions cpg, csv, dbf, prj, shp, and shx 

Si vous ne les avez pas déjà, installer les paquets sp, rgeos et maptools.

maintenant un code R assez simple

library(maptools) 
UK_adm2 = readShapeSpatial("PathToData\GBR_adm2.shp") 
plot(UK_adm2) 

Il y a en fait trois shapefiles dans le zip: adm0, ADM1 et ADM2. Essayez tous les trois pour voir qui a le niveau de détail que vous voulez. Notez également qu'il y a un tas de fichiers avec essentiellement les mêmes noms, mais avec des extensions différentes. Vous voulez charger le fichier .shp.

Vous pouvez expérimenter avec les trois shapefiles fournis adm0, adm1 et adm2 (ils ont différents niveaux de détail). Vous pourriez également expérimenter avec la culture de certaines des îles éloignées éloignées pour avoir une bonne vue de l'île principale.

plot(UK_adm2, xlim=c(-8,0), ylim=c(49,61)) 

Maintenant vous avez les données dans un objet R, vous pouvez obtenir ce qu'il y a dedans. names(UK_adm2) va vous montrer quelques données internes. Vous pouvez obtenir une liste des comtés en tapant UK_adm2$NAME_2. Soulignons le Bedfordshire. plot(UK_adm2[3,], col="#FF444488", add=TRUE) UK map

Vous venez de voir que vous pouvez colorier des comtés individuels. Ce que vous devez faire est de comprendre comment vous voulez colorier chacun d'eux. Cela signifiera que vous souhaitez afficher la quantité que vous souhaitez afficher dans un jeu de couleurs. Jetez un oeil à colorRampPalette. Alors, vous voulez quelque chose comme ceci:

plot(UK_adm2, col=rainbow(12, alpha=0.6), xlim=c(-8,0), ylim=c(49,61)) 

Colored map of UK

sauf que lorsque je l'ai écrit col=rainbow(12, alpha=0.6), vous aurez besoin de remplacer un système de couleurs qui est significatif.

+0

Merci pour ce guide détaillé! Désolé de ne pas avoir répondu plus tôt parce que j'étais en voyage. Je vais essayer votre solution immédiatement! – sue94

+0

Je pense que la logique est parfaitement correcte mais mon r-studio ne va que planter. Je suppose que c'est soit parce que mon ordinateur portable atteint sa limite ou parce que certains paquets ont été construits sous R version 3.3.2. – sue94

+0

Odd. J'utilise RGUI, pas RStudio, mais j'ai couru le dessus sans problème. J'essaie de garder ma version de R et les paquets synchronisés. Quand je commence à recevoir beaucoup de ces messages de "version différente", je mets à jour R, puis je mets à jour tous les paquets. À quel moment vous écrasez? – G5W

0

Quelques exemples de données seraient nécessaires pour recommander des étapes plus précises.

+0

Merci pour votre aide! Pourriez-vous s'il vous plaît me répondre encore une question? J'ai obtenu le shapefile au format * .shp mais puis-je utiliser ce format pour le package de cartographie? Je ne pense pas que les données "nuts2006" mentionnées dans le tutoriel soient un * .shp. – sue94

+0

@ sue94 Le paquetage 'cartography' peut traiter plusieurs formats que vous trouverez chez GADM, mais notez que GADM vous simplifie la tâche et fournit directement les données pour R, sous forme de fichiers RDS :) –

+0

Merci, @Fr. J'ai effectivement essayé les fichiers RDS mais mon r-studio n'a pas pu l'ouvrir d'une manière ou d'une autre. – sue94