2012-12-18 49 views
3

我試圖根據縣使用R「地圖」軟件包製作美國的熱圖/ choropleth /專題圖。不幸的是,一些縣似乎從數據庫中缺失。R地圖包缺失縣

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

結果中沒有發現條目

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

我知道,這FIPS代碼存在! (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

啊哈,問題不在地圖上,而是在縣.fips。 Cibola縣沒有出現在該數據集中,因此當我將我的數據{變量到圖表,FIPS代碼}與列表匹配時,Cibola始終缺失。

有一種方法可以顯示Cibola縣......爲縣寫一條不涉及縣.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

是的,它出現在那裏,但它不在縣.fips數據庫中:'library(maps);數據(county.fips);哪(county.fips ==「新墨西哥,聖胡安」);其中(county.fips ==「new mexico,cibola」)'此代碼返回San Juan縣的FIPS代碼,但對Cibola沒有任何影響 –