---
title: "US Incarceration / Death Penalty Data Story"
author: "Alessandra Chieff and Melanie Valentin"
output:
flexdashboard::flex_dashboard:
orientation: columns
#social: menu
source_code: embed
---
```{r setup, include=FALSE}
library(highcharter)
library(dplyr)
library(viridisLite)
library(treemap)
library(flexdashboard)
library(magrittr)
library(dplyr)
library(tidyr)
library(devtools)
library(ggplot2)
library(ggrepel)
library(aplpack)
library(fmsb)
library(NMF)
library(GGally)
library(treemap)
library(maps)
library(mapproj)
library(plyr)
library(alluvial)
path = ("C:/Users/Class2018/Documents/EM 622/Final")
setwd(path)
data = read.csv("database.csv")
data$Year = substring(data$Date,7,10)
```
Column {data-width=500}
-----------------------------------------------------------------------
### Alluvial Chart for Background of the Convicted
```{r}
alluvial_data = subset(data[,c(4,5,8,9)])
levels(alluvial_data$Victim.Sex) = c(levels(alluvial_data$Victim.Sex), "Both")
levels(alluvial_data$Victim.Race) = c(levels(alluvial_data$Victim.Race), "Multiple")
alluvial_data$Victim.Sex[alluvial_data$Victim.Sex != c("Male", "Female")] = "Both"
alluvial_data$Victim.Race[alluvial_data$Victim.Race != c("White", "Black", "Latino", "Native American", "Asian")] = "Multiple"
alluvial_data = count(alluvial_data)
alluvial(alluvial_data[,1:4], freq=alluvial_data$freq,
col = ifelse(alluvial_data$Race == "Black", "black", "grey"),
border = ifelse(alluvial_data$Race == "Black", "black", "grey"),
alpha = 0.9,
layer = alluvial_data$Race != "Black")
mtext("Criminal/Victim Combinations of Sex/Race in Death Penalty Cases", line=3, font=2)
```
### Geographic Map of Executions per State, 1976 - Present
```{r}
state_data = data.frame(table(data$State))
colnames(state_data) = c("State", "Executions")
zero_states = data.frame(State = c("Arkansas",
"Hawaii",
"Illinois",
"Indiana",
"Kansas",
"Maine",
"Maryland",
"Michigan",
"Minnesota",
"Mississippi",
"Nevada",
"New Hampshire",
"New Jersey",
"New York",
"North Carolina",
"Rhode Island",
"Vermont",
"Virginia",
"West Virginia",
"Wisconsin"
), Executions = NA)
state_data = rbind(state_data, zero_states)
levels(state_data$State) = tolower(levels(state_data$State))
states_map = map_data("state")
geo_map = merge(states_map, state_data, by.x="region", by.y="State")
geo_map = arrange(geo_map, group, order)
ggplot(geo_map, aes(x=long, y=lat, group=group, fill=Executions)) +
geom_polygon(colour="black") +
coord_map("polyconic") +
ggtitle("Geographic Heat Map of Executions in the US from 1976 - Present")
theme_clean = function(base_size = 12) {
require(grid)
theme_grey(base_size) %+replace%theme(
axis.title = element_blank(),
axis.text = element_blank(),
panel.background = element_blank(),
panel.grid = element_blank(),
axis.ticks.length = unit(0,"cm"),
axis.text.x = element_text(margin=unit(0,"cm")),
axis.text.y = element_text(margin=unit(0,"cm")),
panel.spacing = unit(0, "lines"),
plot.margin = unit(c(0,0,0,0), "lines"),
complete = TRUE)
}
```
Column {.tabset data-width=500}
-----------------------------------------------------------------------
### Death Penalty Policy vs. Murder Rate per State
```{r}
data3 = read.csv("murderrate.csv")
data3 <- data.frame(state = data3$STATE, rate = data3$RATE, Category = data3$PENALTY)
ggplot(data3, aes(x = reorder(state, -rate),y = rate, fill=Category)) + geom_bar(stat = "identity") + coord_flip() + ggtitle("Executions per State in 2016") + ylab("Murder Rates per 100,000 People") + xlab("State")
```
### Murder Rate Pre/Post Abolishment of Death Penalty
```{r}
data2 = read.csv("prepost.csv")
data2 <- data.frame(state = data2$YEAR, Pre = data2$Pre.Abolishment, Post = data2$Post.Abolishment)
data2 <- gather(data2, Abolishment, Value, Post:Pre)
ggplot(data2, aes(x = state,y = Value, fill=Abolishment)) + geom_bar(stat = "identity", position = "dodge") + coord_flip() + ggtitle("Average Murder Rates Pre/Post Death Penalty Abolishment") + ylab("Murder Rates per 100,000 People") + xlab("State")
```