Dato uno shapefile, come modellare e utilizzare un file di dati per poter tracciare mappe tematiche utilizzando identificatori che corrispondono a regioni di forma nello shapefile?Tracciamento di mappe tematiche in R Uso di Shapefile e file di dati da sorgenti differenti
#Download English Government Office Network Regions (GOR) from:
#http://www.sharegeo.ac.uk/handle/10672/50
tmp_dir = tempdir()
url_data = "http://www.sharegeo.ac.uk/download/10672/50/English%20Government%20Office%20Network%20Regions%20(GOR).zip"
zip_file = sprintf("%s/shpfile.zip", tmp_dir)
download.file(url_data, zip_file)
unzip(zip_file, exdir = tmp_dir)
library(maptools)
#Load in the data file (could this be done from the downloaded zip file directly?
gor=readShapeSpatial(sprintf('%s/Regions.shp', tmp_dir))
#I can plot the shapefile okay...
plot(gor)
#and I can use these commands to get a feel for the data...
summary(gor)
attributes([email protected])
[email protected]$NAME
#[1] North East North West
#[3] Greater London Authority West Midlands
#[5] Yorkshire and The Humber South West
#[7] East Midlands South East
#[9] East of England
#9 Levels: East Midlands East of England ... Yorkshire and The Humber
#download data from http://www.justice.gov.uk/downloads/publications/statistics-and-data/courts-and-sentencing/csq-q3-2011-insolvency-tables.csv
#insolvency<- read.csv("~/Downloads/csq-q3-2011-insolvency-tables.csv")
insolvency=read.csv("http://www.justice.gov.uk/downloads/publications/statistics-and-data/courts-and-sentencing/csq-q3-2011-insolvency-tables.csv")
insolvencygor.2011Q3=subset(insolvency,Time.Period=='2011 Q3' & Geography.Type=='Government office region')
#tidy the data
require(gdata)
insolvencygor.2011Q3=drop.levels(insolvencygor.2011Q3)
names(insolvencygor.2011Q3)
#[1] "Time.Period" "Geography"
#[3] "Geography.Type" "Company.Winding.up.Petition"
#[5] "Creditors.Petition" "Debtors.Petition"
levels(insolvencygor.2011Q3$Geography)
#[1] "East" "East Midlands"
#[3] "London" "North East"
#[5] "North West" "South East"
#[7] "South West" "Wales"
#[9] "West Midlands" "Yorkshire and the Humber"
#So what next?
avendo ottenuto così lontano, come faccio a fare il passo successivo nella creazione di una mappa tematica/choropleth, che i colori ogni regione in base al valore Debtors.Petition, per esempio?
(ho anche appena notato una possibile Gotcha - v'è un disallineamento della capitalizzazione livelli GOR: "Yorkshire e Humber" e "Yorkshire e Humber")
Sembra [questo post SO] (http://stackoverflow.com/questions/1260965/developing-geographic-thematic-maps-with-r) (il primo nell'elenco "Correlato" nella barra laterale destra) potrebbe aiutarti a ottenere il resto del percorso. –
L'ho visto, ma ho mancato la correzione il primo paio di volte ... Quindi quello che devo fare è qualcosa come: \t gor @ data = merge (insolvencygor.2011Q3, gor @ data, by.x = ' Geografia ", by.y =" NAME ") trama (gor, col = levels ([email protected]$Creditors.Petition)) con una mappatura dei colori appropriata e mappe dei nomi di regioni appropriate (noto che non è solo York e Humberside che non corrispondono ...) – psychemedia
Potresti ridurre il set di dati a un piccolo esempio che illustra il tuo problema? Potresti salvarli usando il comando save e caricarli su SO o su un server e pubblicare il link qui. Questo renderebbe la riduzione della grande quantità di codice che hai molto più facile. –