2012-12-18 2 views
3

R "맵"패키지를 사용하여 카운티별로 미국의 히트 맵/choropleth/주제별 플롯을 만들려고합니다. 불행히도 일부 카운티는 데이터베이스에서 누락 된 것 같습니다. 어떤 항목에R은 패키지가없는 카운티를 매핑합니다

library(maps) 
data(county.fips) 
which(county.fips[,1] == 35006) 
which(county.fips[,2] == 'new mexico,cibola') 

결과 내가이 FIPS 코드가 존재하는 것을 알고

> library(maps) 
> data(county.fips) 
> which(county.fips[,1] == 35006) 
integer(0) 
> which(county.fips[,2] == 'new mexico,cibola') 
integer(0) 

발견! (http://en.wikipedia.org/wiki/Cibola_County,_New_Mexico http://en.wikipedia.org/wiki/List_of_counties_in_New_Mexico)

누구나 내 전체 음모를 꾸밀 수 있습니까? 내가 찾을 수있는 것은 여기에 나열되어 있습니다 : http://grokbase.com/t/r/r-sig-geo/0964515wmd/missing-county-in-maps

당신의 도움에 감사드립니다 !!

답변

1

아 하, 문제가지도하지만 county.fips하지입니다. Cibola 카운티는 해당 데이터 세트에 나타나지 않으므로 목록에 내 데이터 {변수 - 투 - 음모, FIPS 코드}를 입력하면 Cibola가 항상 누락되었습니다.

Cibola 카운티를 표시하기위한 해결 방법은 county.fips 데이터 세트를 포함하지 않는 카운티에 대한 명시 적 라인을 작성하는 것입니다.

countynames <- match(county.fips[,"fips"], mydatavector$fips) 
cibola_value <- mydatavector[which(mydatavector$fips == 35006)] 
m <- map("county") 
map("county", countynames, col=rainbow(100)[mydatavector$var_to_plot], fill=TRUE, add=TRUE) 
map("county", "new mexico,cibola", col=rainbow(100)[cibola_value], fill=TRUE, add=TRUE) 

참고 : 나는 또한지도 기능이 미국의 모든 군을 세우고 문제를 남겼하지만 2 개 세트로 전화를 분할하는 경우가했다.

0

"카운티"데이터베이스에는 Cibola 카운티가 없습니다. 지도를 그리기에 충분해야합니다. 예를 들어, 참조 :

map.text('county', 'new mexico') 
+1

예, 표시되지만 county.fips 데이터베이스에는 없습니다 :'library (maps); 데이터 (county.fips); which (county.fips == "new mexico, san juan"); which (county.fips == "new mexico, cibola")'이 코드는 San Juan 카운티의 FIPS 코드를 반환하지만 Cibola의 코드는 반환하지 않습니다. –