这是一个新手问题。我想在美国 map 上绘制州一级的失业率。在这里和其他地方,就如何绘制县级失业及其相关问题进行了深入的讨论。该代码对我来说似乎很吓人。是否有一个简单的代码包含两列,一个状态代码和一个表示数字间隔的因子变量,并产生一个彩色的美国 map (基于因子变量)。一个补充的问题是,如果我需要走得更远并创建相似的情节,但是在美国主要城市失业率较高的情况下,我该如何修改代码。
先感谢您。

最佳答案

这是一段简短的代码,其中的注释说明了每个步骤。如果您有任何问题,请告诉我

# load libraries
library(XML);
library(ggplot2);
library(maps);
library(plyr);

# read the data from the bls website with correct column formats
unemp = readHTMLTable('http://www.bls.gov/web/laus/laumstrk.htm',
  colClasses = c('character', 'character', 'numeric'))[[2]];

# rename columns and convert region to lowercase
names(unemp) = c('rank', 'region', 'rate');
unemp$region  = tolower(unemp$region);

# get us state map data and merge with unemp
us_state_map = map_data('state');
map_data = merge(unemp, us_state_map, by = 'region');

# keep data sorted by polygon order
map_data = arrange(map_data, order);

# plot map using ggplot2

p0 = ggplot(map_data, aes(x = long, y = lat, group = group)) +
     geom_polygon(aes(fill = cut_number(rate, 5))) +
     geom_path(colour = 'gray', linestyle = 2) +
     scale_fill_brewer('Unemployment Rate (Jan 2011)', pal = 'PuRd') +
     coord_map();
#You may need to spell out the argument pal as pallete

关于r - R州的州级失业率,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5385713/

10-12 17:47