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

Jeff Newmiller jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Thu Sep 13 16:28:59 CEST 2018


Your data appear to be in fixed format, not  space-delimited (or delimited by any other special character), so you should use read.fwf to read it in rather that read.table.

?read.fwf

In the future you should try to identify where your errors are or your data don't look right and ask focused questions about that (reproducible) problem rather than spilling your whole script into an email. That is, your error occurred in the single read.table command and the rest of it was working fine.

On September 13, 2018 5:14:33 AM PDT, Bill Poling <Bill.Poling using zelis.com> wrote:
>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}}
>
>______________________________________________
>R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide
>http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.

-- 
Sent from my phone. Please excuse my brevity.




More information about the R-help mailing list