2015-10-12 3 views
1

Любой может сказать мне, как заполнить пустое поле в моем choropleth? Я прикрепил фотографию для choropleth, которую я создал. Спасибо большое!Как заполнить пробел в choropleth в r? ggplot2 и карты

Я заметил, что имя файла в двух таблицах не совпадает, но я не могу изменить имя файла в своих исходных данных.

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

У вас нет изображения, вы действительно не предоставили никаких данных для тех, с кем вы работаете. Я бы предложил сделать ваш вопрос «аляска/гавайи» отдельным, и вы сделали _any_ исследование по добавлению 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

Вы можете увидеть больше справки о о создании государственного choropleths с пакетом choroplethr here, и пакет имеет email course также.

Для государственных choropleths, я думаю, что основное преимущество пакета над выполнением его самостоятельно продемонстрировано в приведенной выше виньетке: он значительно упрощает анализ поисковых данных. Например, изменение масштаба или масштабирования становится таким же простым, как установка параметров для функции. Пакет также включает AK и HI, а также использует разумную проекцию. Решение этих проблем, как правило, является головной болью при выполнении всего этого в ggplot2. Обратите внимание, что я автор choroplethr, поэтому я говорю по опыту :)

Еще одна вещь, которая стоит отметить, это то, что вы можете наложить свой choropleth на эталонную карту, например карту Google. Недавно я добавил эту функциональность к последней версии 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

Смежные вопросы