library(reshape2)
library(knitr)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
## 
## Attaching package: 'tidyr'
## The following object is masked from 'package:reshape2':
## 
##     smiths
library(digest)
## Warning: package 'digest' was built under R version 3.3.3
library(Rcpp)
## Warning: package 'Rcpp' was built under R version 3.3.3
library(ggplot2)
library(ggvis)
## 
## Attaching package: 'ggvis'
## The following object is masked from 'package:ggplot2':
## 
##     resolution
Votes <- read.csv("Votes.csv")
kable(Votes)
Candidate Gain_2500_or_Greater Gain_1000.2500 Gain_1000_or_Less Lose_between_1000_2500 Lose_between_2500_5000 Lose_between_5000_7500 Lose_more_than_7500
Trump 0.46 0.43 0.41 0.46 0.49 0.60 0.58
Clinton 0.47 0.49 0.50 0.46 0.45 0.35 0.39
Other 0.07 0.08 0.09 0.08 0.06 0.05 0.03
new <- melt(Votes, value.name = "frequency")
## Using Candidate as id variables
new <- new %>% rename(Loss_Gain = variable, Support_for_Candidate = frequency)
new <- new %>% select(If.You.Stand.To = Loss_Gain, You.Voted.For = Candidate, Percent.Of.The.Time = Support_for_Candidate)
kable(new)
If.You.Stand.To You.Voted.For Percent.Of.The.Time
Gain_2500_or_Greater Trump 0.46
Gain_2500_or_Greater Clinton 0.47
Gain_2500_or_Greater Other 0.07
Gain_1000.2500 Trump 0.43
Gain_1000.2500 Clinton 0.49
Gain_1000.2500 Other 0.08
Gain_1000_or_Less Trump 0.41
Gain_1000_or_Less Clinton 0.50
Gain_1000_or_Less Other 0.09
Lose_between_1000_2500 Trump 0.46
Lose_between_1000_2500 Clinton 0.46
Lose_between_1000_2500 Other 0.08
Lose_between_2500_5000 Trump 0.49
Lose_between_2500_5000 Clinton 0.45
Lose_between_2500_5000 Other 0.06
Lose_between_5000_7500 Trump 0.60
Lose_between_5000_7500 Clinton 0.35
Lose_between_5000_7500 Other 0.05
Lose_more_than_7500 Trump 0.58
Lose_more_than_7500 Clinton 0.39
Lose_more_than_7500 Other 0.03
new<- new[seq(dim(new)[1],1),]
kable(new)
If.You.Stand.To You.Voted.For Percent.Of.The.Time
21 Lose_more_than_7500 Other 0.03
20 Lose_more_than_7500 Clinton 0.39
19 Lose_more_than_7500 Trump 0.58
18 Lose_between_5000_7500 Other 0.05
17 Lose_between_5000_7500 Clinton 0.35
16 Lose_between_5000_7500 Trump 0.60
15 Lose_between_2500_5000 Other 0.06
14 Lose_between_2500_5000 Clinton 0.45
13 Lose_between_2500_5000 Trump 0.49
12 Lose_between_1000_2500 Other 0.08
11 Lose_between_1000_2500 Clinton 0.46
10 Lose_between_1000_2500 Trump 0.46
9 Gain_1000_or_Less Other 0.09
8 Gain_1000_or_Less Clinton 0.50
7 Gain_1000_or_Less Trump 0.41
6 Gain_1000.2500 Other 0.08
5 Gain_1000.2500 Clinton 0.49
4 Gain_1000.2500 Trump 0.43
3 Gain_2500_or_Greater Other 0.07
2 Gain_2500_or_Greater Clinton 0.47
1 Gain_2500_or_Greater Trump 0.46
black.bold.italic.12.text <- element_text(face = "bold.italic", color = "black", size = 8)

votePlot <- ggplot(new) + geom_bar(aes(y = new$Percent.Of.The.Time, x = new$If.You.Stand.To, fill = new$You.Voted.For), stat = "identity") +
    scale_fill_hue(l=40) +
    scale_fill_brewer(palette="Spectral") + coord_flip()+ theme(axis.text = black.bold.italic.12.text) + guides(fill = guide_legend(reverse=TRUE)) + 
  xlab("Amount You Will Lose") + 
  ylab("Percentage of Voters")
## Scale for 'fill' is already present. Adding another scale for 'fill',
## which will replace the existing scale.
votePlot

ggplot(new, aes(x = If.You.Stand.To, y = Percent.Of.The.Time)) + 
  geom_bar(aes(fill = You.Voted.For), stat = "identity",  position = position_dodge()) +
    scale_fill_hue(l=40) +
    #scale_fill_brewer(palette="Spectral") +
  coord_flip() + theme(axis.text = black.bold.italic.12.text) + 
  #reverses legend order
  guides(fill = guide_legend(reverse=TRUE)) + xlab("Amount You Will Lose")+ylab("Percentage of Voters")

ggplot(new, aes(x = If.You.Stand.To, y = Percent.Of.The.Time)) + 
  geom_line(aes(colour = You.Voted.For, group = You.Voted.For)) + 
  geom_point(aes(colour = You.Voted.For), size = 3) + 
  theme(axis.text = black.bold.italic.12.text) + scale_fill_hue(l=40) + 
  guides(fill = guide_legend(reverse=TRUE)) + xlab("Amount You Will Lose") +
  ylab("Percentage of Voters") + 
    scale_fill_manual(values=c("#CC6666", "#9999CC", "#66CC99"))

## [1] 21  3
Candidate Amount_to_Lose Percent_Who_Voted_in_Candidate
Trump -7500 0.58
Clinton -7500 0.39
Other -7500 0.03
Trump -5000 0.60
Clinton -5000 0.35
Other -5000 0.05
Trump -2500 0.49
Clinton -2500 0.45
Other -2500 0.06
Trump -1000 0.46
Clinton -1000 0.46
Other -1000 0.08
Trump 1000 0.41
Clinton 1000 0.50
Other 1000 0.09
Trump 2500 0.43
Clinton 2500 0.49
Other 2500 0.08
Trump 5000 0.46
Clinton 5000 0.47
Other 5000 0.07