2015-10-12 73 views
1

任何人都可以告訴我如何填補我的choropleth空白領域?我附上了我創作的血統書的照片。非常感謝!如何填寫r中的空白? ggplot2和地圖

我注意到兩個表中Statename的不匹配,但我不能夠改變Statename的在我的原始數據。

library(ggplot2) 
library(maps) 
**#Data looks like this:** 

aggrev2015<-data.frame(
statename=c("alabama","alaska","arizona","arkansas","california","colorado","connecticut","delaware","florida","georgia","hawaii","idaho","illinois","indiana","iowa","kansas","kentucky","louisiana","maine","maryland","massachusetts","michigan", "minnesota","mississippi","missouri","montana","nebraska","nevada","new hampshire","new jersey","new mexico","new york","north carolina","north dakota","ohio","oklahoma", "oregon","pennsylvania","rhode island","south carolina","south dakota","tennessee","texas","utah","vermont","virginia","washington","west virginia","wisconsin","wyoming"), 
    revenue=runif(50,min=100,max=9000)) 

state_df <- map_data("state") 
colnames(state_df)<-c("long","lat","group","order","statename","subregion") 

choropleth <- merge(aggrev2015,state_df, by = "statename") 

ggplot(choropleth, aes(long, lat, group = statename)) + 
    geom_polygon(aes(fill = revenue)) 

choropleth

+0

您沒有附加任何圖片,您是否真的沒有提供任何與任何人合作的數據。我會建議將你的「阿拉斯加/夏威夷」問題作爲一個單獨的問題,並且你是否已經完成了關於在美國地圖上添加HI和AK的研究?在研究中你遇到過http://rud.is/b/2014/11/16/moving-the-earth-well-alaska-hawaii-with-r/嗎? – hrbrmstr

+1

感謝您添加圖片鏈接。我擴大了它。在看過那張地圖後,你可能會更好地使用'choroplethr'軟件包(它在CRAN中)。 – hrbrmstr

回答

2

乍一看您的問題似乎與有島嶼的國家。而不是調試,我將在@ hrbrmstr的使用choroplethr的建議跟進:

library(choroplethr) 
library(choroplethrMaps) 

data(df_pop_state) 
state_choropleth(df_pop_state) 

enter image description here

您可以看到與choroplethr包here創建狀態choropleths更多的機制的文檔,幷包有email course

對於狀態choropleths,我認爲在包做自己證明在上述小插曲的主要優點:它使探索性數據分析更容易。例如,改變比例或縮放就像在功能上設置參數一樣簡單。該軟件包還包括AK和HI以及使用合理的投影。在ggplot2中完成所有這些工作時,解決這些問題往往是一件令人頭痛的事情。請注意,我choroplethr的作者,所以我從經驗發言:)

另一個要指出的是,你可能要超過參考地圖,如從谷歌地圖來覆蓋你的地區分佈。我最近將這個功能添加到了最新版本的choroplethr中。但是我沒有機會更新軟件包小插件來解釋如何使用它。爲了讓剛剛成立reference_map = TRUE默認參考圖:

data(continental_us_states) 
state_choropleth(df_pop_state, 
       zoom = continental_us_states, 
       reference_map = TRUE) 

enter image description here

如果你想使用一個不同的參考地圖(如衛星地圖),你可以做到這一點對。我只寫了一個blog post就可以了。這是幾周前實施參考地圖功能後最常見的問題。

+0

謝謝!如果我的數據中的狀態與「state.regions」中的狀態不完全匹配,該怎麼辦?例如,我有「哥倫比亞地區」缺失。 – wsda

+0

默認情況下,缺失區域顯示爲黑色。 – Ari

+0

謝謝!這真是太棒了〜 – wsda