2013-08-06 36 views
3

我想與地圖包在R我choropleth我有數據,我已經構造創建箱和關聯顏色名稱與這些箱。現在,在這個例子中,我需要使用col =參數將顏色指向縣。我如何構建這個論點?我會認爲構建一個數據框會將縣和顏色關聯在同一行上?這不正確嗎?到目前爲止,我有以下R「地圖」軟件包和choropleths

示例數據:

County | Value | Bin | Color 
alamance | 100 | 1 | white 
brunswick | 1000 | 2 | red 
... through 100 counties 

R代碼裏面(不工作):

library("maps") 
DATA <- read.csv("~/Example_Data.csv") 
DATA$County <- as.character(DATA$County) 
DATA$Color <- as.character(DATA$Color) 
NC <- map('county', 'north carolina', col= DATA$Color, Fill=TRUE) 
+0

有沒有看過數據集中的措詞。請爲您的問題和'* .csv'文件的一些數據提供示例。 – maximus

+0

你從哪裏得到錯誤? – maximus

+0

數據已被清理並標準化以反映驅動縣名的地圖包數據庫。它與上面給出的例子基本相同。發生錯誤時會創建地圖,但隨機顏色顯示爲填充(不是由DATA $ Color指定的顏色)。我無法確定如何將縣名和col =元素中的顏色填充相關聯。 – MarkCCooke

回答

0

所以,多次迭代後這裏是解決方案的精髓。而不是給出使它工作的R代碼(非常平淡無奇),下面是幫助解決問題的規則。

  1. 包中包含的county.fips數據具有包含所有州和縣名稱的列。這顯示了縣名匹配的格式,全部是小寫,「州,縣」沒有空格。
  2. 對於NC子集,有102個條目,而不是100個,因爲Currituck縣被細分爲三個實體。這是大多數/所有問題的根源,很難診斷,但很容易解決。

解決方案1 ​​ - 將顏色矢量與縣的矢量匹配。 102個顏色條目在正確的ALPHA順序將產生一個正確的結果choropleth。最快,但也是最不方便的,如果你試圖做到這一點,比如說,美國的所有縣。

解決方案2 - 添加fips代碼到原始數據,然後在fips上匹配。由於county.fips文件中有Currituck實體被列爲「北卡羅來納州,currituck:main」等,這仍然需要一些操作或尋找外部參考。這是maps()文檔中使用的方法,但這會花費太長的時間,所以我更喜歡前者。但是,花時間讓您可以訪問國家數據集。