[R] Help with simple Map of US states with predefined regions Version 2

Bill Poling Bill@Poling @ending from zeli@@com
Thu Sep 13 14:14:33 CEST 2018


Hi,

I hope someone can help me finalize this please.

I am coming close to what I need using variations from two ggplot2 tutorials.

This first gives me the map of the US with AK & HI but I cannot figure out how to get my 5 regions colored

#https://stackoverflow.com/questions/38021188/how-to-draw-u-s-state-map-with-hi-and-ak-with-state-abbreviations-centered-us?rq=1


library(ggplot2)
install.packages("ggalt")
library(ggalt)     # coord_proj
library(albersusa) # devtools::install_github("hrbrmstr/albersusa")
install.packages("ggthemes")
library(ggthemes)  # theme_map
install.packages("rgeos")
library(rgeos)     # centroids
library(dplyr)

# composite map with AK & HI
usa_map <- usa_composite()

# calculate the centroids for each state
gCentroid(usa_map, byid=TRUE) %>%
  as.data.frame() %>%
  mutate(state=usa_map using data$iso_3166_2) -> centroids

# make it usable in ggplot2
usa_map <- fortify(usa_map)

View(usa_map)
t1 <- head(usa_map,n=5)
knitr::kable(t1, row.names=FALSE, align=c("l", "l", "r", "r", "r"))

#

  # |long      |lat      | group| order|  region|subregion |
  # |:---------|:--------|-----:|-----:|-------:|:---------|
  # |-87.46201 |30.38968 |     1|     1| alabama|NA        |
  # |-87.48493 |30.37249 |     1|     2| alabama|NA        |
  # |-87.52503 |30.37249 |     1|     3| alabama|NA        |
  # |-87.53076 |30.33239 |     1|     4| alabama|NA        |
  # |-87.57087 |30.32665 |     1|     5| alabama|NA        |

usa_map <- fortify(usa_map)
gg <- ggplot()
gg <- gg + geom_map(data=usa_map, map=usa_map,
                    aes(long, lat, map_id=id),
                    color="#2b2b2b", size=0.1, fill=NA)

gg <- gg + geom_text(data=centroids, aes(x, y, label=state), size=2)
gg <- gg + coord_proj(us_laea_proj)
gg <- gg + theme_map()
gg




#************************************************************************************************************************************************************************************/

This second is an alternative (however not liking AK&HI, not coming into the map like scenario one above) but also ignoring new Mexico (because recognizing a seventh field value) and I suspect it will do the same for new York and new jersey etc.. when I add them to the list.

Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,  :  line 12 did not have 6 elements

When I use newmexico (all one word) it appears white in the map like the other states not in the table statement

#https://stackoverflow.com/questions/38777732/r-code-to-generating-map-of-us-states-with-specific-colors

library(ggplot2)

read.table(text="State.Code   region            St_Abbr   Num_Estab  colors
                      1          1   alaska       Ak        13123    #f7931e
                      3          1   arizona      AZ        18053    #f7931e
                      5          1   california   CA       143937    #f7931e
                      2          1   hawaii       HI       123456    #f7931e
                      4          1   nevada       NV       654321    #f7931e
                      6          1   oregon       OR       321456    #f7931e
                      7          1   washington   WA       456123    #f7931e
                      8          2   colorado     CO       987654    #787878
                      9          2   idaho        ID       13549     #787878
                     10          2   kansas       KS       94531     #787878
                     11          2   montana      MT       456321    #787878
                     12          2   new mexico   NM     582310            #787878 <---Not liking new mexico, saying not 6
                     13          2   oklahoma     OK       214567    #787878
                     14          2   texas        TX       675421    #787878
                     15          2   utah         UT       754321    #787878
                     16          2   wyoming      WY       543124    #787878 ",
stringsAsFactors=FALSE, header=TRUE, comment.char="") -> df

usa_map1 <- map_data("state")
t1 <- head(usa_map1,n=5)
knitr::kable(t1, row.names=FALSE, align=c("l", "l", "r", "r", "r"))
View(usa_map1)
#
#   |long      |lat      | group| order|  region|subregion |
#   |:---------|:--------|-----:|-----:|-------:|:---------|
#   |-87.46201 |30.38968 |     1|     1| alabama|NA        |
#   |-87.48493 |30.37249 |     1|     2| alabama|NA        |
#   |-87.52503 |30.37249 |     1|     3| alabama|NA        |
#   |-87.53076 |30.33239 |     1|     4| alabama|NA        |
#   |-87.57087 |30.32665 |     1|     5| alabama|NA        |



gg <- ggplot()
#View(gg)
gg <- gg + geom_map(data=usa_map1, map=usa_map1,
                    aes(long, lat, map_id=region),
                    color="#2b2b2b", size=0.15, fill=NA)

gg <- gg + geom_map(data=df, map=usa_map1,
                    aes(fill=colors, map_id=region),
                    color="#2b2b2b", size=0.15)


gg <- gg + geom_text(data=centroids, aes(x, y, label=state), size=2)
gg <- gg + coord_proj(us_laea_proj)
gg <- gg + theme_map()
gg


gg <- gg + scale_color_identity()
gg <- gg + coord_map("polyconic")
gg <- gg + ggthemes::theme_map()
gg

#c( "colorado", "idaho", "kansas", "montana", "new mexico", "oklahoma","texas", "utah", "wyoming") )
#c("alaska", "arizona", "california", "hawaii", "nevada", "oregon","washington"))



William H. Poling, Ph.D., MPH




Confidentiality Notice This message is sent from Zelis. ...{{dropped:13}}



More information about the R-help mailing list