2016-05-14 3 views
-2

私は特定の州の近隣諸州をRの郵便番号情報から探したいと思います。R州の郵便番号情報を使って近隣州を見つける方法

ありがとうございます!

+0

私はあなたを送ることができますが、私は郵便番号とRでそれを達成する方法がわからない各状態のためのすべての連続した状態を示しExcelスプレッドシートを作成しました。 – lawyeR

+0

ようこそStackOverflowへ。 (1)[良い質問をするにはどうすればいいですか](1)[MCVEの作成方法](http://stackoverflow.com/jp)/help/mcve)と(3)[Rで最小限の再現可能なサンプルを提供する方法](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example #answer-5963610)。それに応じてあなたの質問を編集し、改善してください。つまり、入力データ、予想される出力、試行したコード行、失敗した方法を示します。 – lukeA

答えて

0

郵便番号のリストを取得し、州と一致させ、州の形状ファイルを取得し、近隣を計算します。基本的にはこのように仕事ができる:

# get data 
library(spdep) 
library(raster) 
# https://www.census.gov/geo/reference/codes/cou.html 
fips <- read.csv("http://www2.census.gov/geo/docs/reference/codes/files/national_county.txt", header=F, col.names = c("STATE", "STATEFP", "COUNTYFP", "COUNTYNAME", "CLASSFP")) 
map <- getData("GADM", country="US", level=2) 

# select by code 
(county <- as.character(subset(fips, STATE=="NY" & STATEFP==36 & COUNTYFP==61, select=COUNTYNAME)[, 1])) 
# [1] New York County 

# get neighbour: 
nbs <- poly2nb(map) # takes some time to get the neighbour counties 
nam <- with([email protected], paste(NAME_2, TYPE_2)) 
lst <- setNames(lapply(unclass(nbs), function(x) nam[x]), nam) 
lst[county] 
# $`New York County` 
# [1] "Bergen County" "Hudson County" "Bronx County" 
関連する問題