Geofacet
library(geofacet)
# Create a grid, nh_grid for use of geofacet package
nameTown <- c("Sandwich", "Tamworth", "Freedom", "Hebron", "Ashland", "Holderness", "Center Harbor", "Moultonborough", "Tuftonboro", "Ossipee", "Effingham", "Alexandria", "Bristol", "Bridgewater", "New Hampton", "Meredith", "Laconia", "Gilford", "Wolfeboro", "Danbury", "Hill", "Sanbornton", "Belmont", "Alton", "Andover", "Franklin", "Tilton", "Gilmanton", "Northfield", "Barnstead")
code <- c("Sw", "Tw", "Fd", "Hb", "Al", "Hn", "Ch", "Mb", "Tb", "Op", "Eh", "Ad", "Bt", "Bw", "Nh", "Md", "Ln", "Gf", "Wb", "Db", "Hl", "Sb", "Bm", "At", "Av", "Fk", "Tt", "Gm", "Nf", "Bs")
row <- c(1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,4,3,3,4,4,4,5,4,5,5,5,5,6,6)
col <- c(6,7,9,1,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,1,2,4,6,8,2,3,4,7,4,8)
nh_grid <- data.frame(nameTown, code, row, col)
data_geo <- data
colnames(data_geo)[colnames(data_geo) == "Town"] <- "nameTown"
library(dplyr)
library(ggplot2)
library(tidyr)
data %>%
select(Town, incomeLabor_SelfEmpl, Year, benchM) %>%
mutate(Year = paste0("Yr",Year)) %>%
spread(Year, incomeLabor_SelfEmpl) %>%
ggplot(aes(reorder(x = Town, (Yr2016-Yr2011)/Yr2011), y = (Yr2016-Yr2011)/Yr2011, fill = benchM)) +
geom_col(show.legend = FALSE) +
coord_flip() +
labs(title = "Percent Change in Self-Employment Income between 2007-11 and 2012-16",
x = NULL,
y = "Percent Change in Income")

Percent change by geofacet
library(stringr)
data_geo %>%
filter(!nameTown %in% c("United States", "New Hampshire")) %>%
select(nameTown, incomeLabor_SelfEmpl, incomeLabor_WageSalary, Year) %>%
mutate(Year = paste0("Yr",Year),) %>%
gather(var, value, c("incomeLabor_SelfEmpl", "incomeLabor_WageSalary")) %>%
mutate(var = str_extract(var, "Self|Wage")) %>% #change the text for shorter axis text in graph
spread(Year, value) %>%
ggplot(aes(x = var, y = (Yr2016-Yr2011)/Yr2011, fill = Yr2016-Yr2011 > 0)) +
geom_col() +
facet_geo(~ nameTown, grid = nh_grid) +
labs(title = "Percent Changes in Income between 2007-11 and 2012-16",
x = NULL,
y = NULL,
caption = "Data source: American Community Survey, 5-year estimate") +
theme(axis.ticks.x=element_blank(),
legend.position= c(0,0.05),
legend.title=element_blank()) +
scale_fill_discrete(labels=c("Decrease", "Increase"))
