Wenn Sie Zugriff auf eine Shape-Datei haben, ist dies relativ einfach mit Hilfe des spdep
Paket.
Hier ist ein eigenständiges Beispiel kalifornische Postleitzahldaten (~ 3,5 MB Download) mit:
# load libraries
library(rgdal)
library(spdep)
# download, unzip and import shapefile
download.file('http://geocommons.com/overlays/305142.zip', {f<-tempfile()})
unzip(f, exdir=tempdir())
shp <- readOGR(tempdir(), 'tigerline_shapefile_2010_2010_state_california_2010_census_5-digit_zip_code_tabulation_area_zcta5_state-based')
# identify neighbours for each poly
nbs <- setNames(poly2nb(shp), shp$ZCTA5CE10)
# convert to a binary neighbour matrix
nbs.mat <- nb2mat(nbs, zero.policy=TRUE, style='B')
# see?rgeos::gTouches for an alternative to the above steps
# assign zip codes as dimension names
dimnames(nbs.mat) <- list(shp$ZCTA5CE10, shp$ZCTA5CE10)
Für unsere Daten-Set, das gibt eine 1769 x 1769 Matrix angibt, welche Postleitzahlen Nachbarn sind. Die ersten 10 Zeilen und 10 Spalten wie folgt aussehen:
nbs.mat[1:10, 1:10]
## 94601 94501 94560 94587 94580 94514 94703 95601 95669 95901
## 94601 0 1 0 0 0 0 0 0 0 0
## 94501 1 0 0 0 0 0 0 0 0 0
## 94560 0 0 0 0 0 0 0 0 0 0
## 94587 0 0 0 0 0 0 0 0 0 0
## 94580 0 0 0 0 0 0 0 0 0 0
## 94514 0 0 0 0 0 0 0 0 0 0
## 94703 0 0 0 0 0 0 0 0 0 0
## 95601 0 0 0 0 0 0 0 0 0 0
## 95669 0 0 0 0 0 0 0 0 0 0
## 95901 0 0 0 0 0 0 0 0 0 0
Optional, wenn Sie eine zweispaltige Matrix benachbarten Paaren von Postleitzahlen geben (dh Code zip in Spalte 1, und das benachbarte Postleitzahl in Spalte 2), können Sie Folgendes verwenden.
Es gibt eine Postleitzahl shapefile [hier] (http://www.census.gov/cgi-bin/geo/shapefiles2013/main), wenn das hilft. – jbaums
Aus welchen Informationen möchten Sie das konstruieren? Hast du eine Formdatei? Vielleicht Koordinaten? –
Ich habe Zugang zu einigen Shapefiles, die von jbaums verwendet werden. Aber nicht zu allen Staaten, die ich wollte. Ich denke, ich könnte die Koordinaten der Postleitzahlen manuell eingeben, wenn es darauf ankommt. Wie soll ich vorgehen? Ich wollte die Informationen für 9 Staaten und ich konnte das Shapefile für 4 Staaten bekommen, aber nicht die restlichen 5, wie ich unten erwähne. Bitte lassen Sie mich wissen, wie ich die lat lange Information verwenden kann, um diese Matrix zu erstellen. Vielen Dank. – user3435644