library(tidyverse)
# upload data
all_states <- map_data("state")
congress <- read_csv("womenincongress.csv")
## Warning: Missing column names filled in: 'X1' [1]
## Parsed with column specification:
## cols(
##   X1 = col_integer(),
##   state = col_character(),
##   senators = col_integer(),
##   representatives = col_integer(),
##   total = col_integer()
## )
# join data
names(congress)[2] <- "region"
stateData <- left_join(all_states,congress,by="region")

Exercise 1

# create proportions column
stateData$repProp <- stateData$representatives/stateData$total
# create graph
housePlot <- ggplot()+geom_polygon(data=stateData,aes(x=long, y=lat, group = group, fill=repProp),color="grey50")+coord_map()+labs(x="",y="",title="Women in the House")+theme_classic()+ theme(axis.ticks.y = element_blank(),axis.text.y = element_blank(), axis.ticks.x = element_blank(),axis.text.x = element_blank())

# edit colors
housePlot <- housePlot + scale_fill_gradient(name="Female Representatives",low="whitesmoke",high="darkred", guide=guide_colorbar(title.position="bottom"))

# print graph
housePlot

Exercise 2

# upload data
electionData <- read_csv("2012.csv")
## Warning: Missing column names filled in: 'X1' [1]
## Parsed with column specification:
## cols(
##   X1 = col_character(),
##   ObamaVotes = col_integer(),
##   ObamaEV = col_integer(),
##   RomneyVotes = col_integer(),
##   RomneyEV = col_integer(),
##   JohnsonVotes = col_integer(),
##   JohnsonEV = col_integer(),
##   SteinVotes = col_integer(),
##   SteinEV = col_integer()
## )
names(electionData)[1] <- "region"

# data manipulation to show election support
electionData$ObamaPerc <- electionData$ObamaVotes/(electionData$ObamaVotes+electionData$RomneyVotes+electionData$JohnsonVotes+electionData$SteinVotes)
electionData$RomneyPerc <- electionData$RomneyVotes/(electionData$ObamaVotes+electionData$RomneyVotes+electionData$JohnsonVotes+electionData$SteinVotes)
electionData <- merge(all_states,electionData,by="region")

# create subset of data: South
South <- filter(electionData, region %in% c("delaware","florida","georgia","maryland","north carolina","south carolina", "virginia","west virginia","alabama","kentucky","mississippi","tennessee","arkansas","louisiana","oklahoma","texas", "district of columbia"))
# graph of election support in South
SouthElectionPlot <- ggplot()+geom_polygon(data=South,aes(x=long, y=lat, group = group, fill=ObamaPerc),color="grey50")+coord_map()+labs(x="",y="",title="2012 Election Results")+theme_classic()+ theme(axis.ticks.y = element_blank(),axis.text.y = element_blank(), axis.ticks.x = element_blank(),axis.text.x = element_blank()) + scale_fill_gradient2(name="Obama's Percenatage",low="red",mid="white",high="blue",midpoint=.5)
SouthElectionPlot