2017-10-16 6 views
0

Je rencontre des difficultés pour mapper des couleurs de dégradé à certaines données de population au niveau des comtés que j'ai en utilisant les cartes de paquet R de base. Je sais que les couleurs doivent être interpolées dans la base de données, mais je ne sais pas comment cela est traduit sur la carte. Voici le code que j'utilise:Comment cartographier un seul état américain (MO) des données de population du comté en utilisant le paquetage maps?

library(dplyr) 
require(maps) 

my_fake_data <- data_frame(
    county = sample(c('list','of','all','counties'),115,T), 
    county_population = sample(1:1000000,115,T)) 

grey_black <- colorRampPalette(c('grey50','black')) 

map_data <- my_fake_data %>% 
    arrange(county_population) %>% 
    mutate(county_population_color = grey_black(nrow(.))) 

map('county','missouri',interior = T,fill =T, 
col = grey_black(map_data$county_population_color)) 

Comment puis-je dire à R de mapper les couleurs dans le bon ordre? Mon sens me dit d'attacher mes données à la base de données interne de la carte, mais je ne peux pas trouver la documentation pour le faire correctement - - ou, plus probablement, je me trompe. Toute aide serait grandement appréciée.

+0

[Cette question] (https://stackoverflow.com/questions/24399367/plot-fill-color-map-with-usa -states-data-in-r) pourrait être utile. – duckmayr

+0

essayez 'col = grey_black (10)' où 10 est le nombre de couleurs entre 'grey50' et' black' – missuse

Répondre

0

Pour répondre à votre question, vous devez accéder au bloc de données county.fips contenu dans le paquet de cartes. Cela aura le numéro Fips et l'état, le nom du comté. Cette liste est dans le bon ordre pour la cartographie. L'exemple de code extrait ci-dessous les comtés du Missouri et au hasard des couleurs d'un couple pour la vérification:

mocounties<-county.fips[grepl('missouri', county.fips$polyname),] 
    mocounties$col<-"grey" 
    mocounties$col[5]<-"red" 
    mocounties$col[15]<-"green" 
    mocounties$col[115]<-"blue" 

map('county','missouri', interior = T,fill =T, 
    col = mocounties$col)