Это вопрос новичков. Я хочу рассказать о безработице на уровне штата на карте США. Здесь и в других местах были глубокие дискуссии о том, как установить уровень безработицы на уровне графства и связанные с этим проблемы. Код выглядит пугающе для меня. Есть ли простой код, который содержит два столбца, код состояния и факторную переменную, указывающие числовые интервалы, и дает цветную карту США (на основе факторной переменной). Дополнительный вопрос заключается в том, что если мне нужно пойти немного дальше и создать подобный сюжет, но с уровнем безработицы в крупных городах США, как мне изменить код. Заранее благодарю вас.
Уровень безработицы на уровне штата в R
Ответ 1
Вот краткий фрагмент кода с комментариями, объясняющими каждый шаг. Дайте мне знать, если у вас есть вопросы.
# 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
Ответ 2
Рамнат прибил это. Если вы все еще ищете другие решения, там есть хороший пример с использованием других пакетов в блоге SAS-and-R.