Hate Crimes in NYC: Barriers to Reporting

The focus of this study is to visualize and understand what hate crimes are being reported the most and what is preventing people from reporting these crimes. We use reporting data from different hate crime biases to understand when report spikes happened and what factors could have prevented certain groups from reporting at those times. Specifically, this study has three research questions we aim to answer: what hate crimes are the most prevalent, what barriers are keeping certain groups from reporting, and how the uptick in certain crimes correlates with the events of the time. By analyzing these questions, this study seeks to provide a better understanding of the factors that contribute to the reporting and committing of hate crimes in New York.

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
setwd("C:/Users/gswah/OneDrive/Documents/DIDA 325")
#file.choose()


data <- read.csv("C:\\Users\\gswah\\OneDrive\\Documents\\DIDA 325\\Hate_Crimes_by_County_and_Bias_Type__Beginning_2010 (1).csv")

To view the upticks in crimes over time in certain groups, we created line graphs of the total reported crimes each year against Jewish and transgender individuals. These two groups were chosen for analysis as anti-Jewish crimes were the most reported and anti-transgender crimes had one of the least reportings. Taking into consideration their history with police, analyzing anti-transgender crime reportings seemed essential in answering what barriers are keeping certain groups from reporting. These graphs tell us when reports were at their highest and lowest, helping us create a clearer picture of what was going on at the time.

library(ggplot2)
library(ggthemes)


anti_jewish_years <- data %>% 
  group_by(Year) %>% 
  summarise(sum_anti.jewish = sum(Anti.Jewish, na.rm = T)) %>%
  ggplot(aes(x=Year, y=sum_anti.jewish)) +
  geom_line(show.legend = FALSE, color = "blue") +
  geom_point(color = "black") +
  labs(y = "Reported Hate Crimes", x = "Year", 
       title = "Reported Anti-Jewish Hate Crimes Since 2010") +
  theme(plot.title = element_text(hjust = 0.5),
        legend.position="none")+
  theme_grey()

anti_jewish_years

Reported anti-Jewish based hate crimes showed an increase over the 12 year period. However, there were large increases from 2011 to 2012, 2018 to 2019, 2020 to 2022. Large decreases in reported crimes would follow after 2012 and 2019. Fluctuations would happen from year to year otherwise. The largest amount of reported anti-Jewish Crimes was in 2022, the lowest was 2020. It should be noted that this data includes all of New York State. This might mean outliers in other counties might be overwhelmed by the larger population of New York City.

anti_transgender_years <- data %>% 
  group_by(Year) %>% 
  summarise(sum_anti.transgender = sum(Anti.Transgender, na.rm = T)) %>%
  ggplot(aes(x=Year, y=sum_anti.transgender)) +
  geom_line(show.legend = FALSE, color = "blue") +
  geom_point(color = "black") +
  labs(y = "Reported Hate Crimes", x = "Year", 
       title = "Reported Anti-Transgender Hate Crimes Since 2010") +
  theme(plot.title = element_text(hjust = 0.5),
        legend.position="none")+
  theme_grey()

anti_transgender_years

There is a large difference in the amount of crimes that were committed in New York State over a 12 year period. Although almost zero or zero anti-transgender hate crimes were reported from 2010 to 2016, there was a large increase in reported anti-Trangender hate crimes in 2017. Important note is that anti-Trangender Hate Crimes were reported at lower rates across New York City than other hate crimes, which means anti-transgender data might be more volatile because of low sample data. From there, hate crime counts by year fluctuated and had another large increase into 2021.

This bar graph demonstrates the uptick in anti-asian crimes over 12 years.

anti_asian_years <- data %>% 
  group_by(Year) %>% 
  summarise(mean_anti.asian = mean(Anti.Asian, na.rm = T)) %>%
  ggplot(aes(x=Year, y=mean_anti.asian)) +
  geom_line(show.legend = FALSE, color = "blue") +
  geom_point(color = "black") +
  labs(y = "Mean Reported Hate Crimes", x = "Year", 
       title = "Reported Anti-Asian Hate Crimes Since 2010") +
  theme(plot.title = element_text(hjust = 0.5),
        legend.position="none")+
  theme_grey()

anti_asian_years

This graph shows low reporting of anti-Asian crimes until 2019 to where crime escalated rapidly. This could be due to world events happening at this time.

We created bar graphs to understand what types of crimes were most prevalent in these two communities.

ggplot(data, aes(x=Crime.Type, y=Anti.Jewish)) +
  geom_bar(stat="identity", color = "darkmagenta", fill = "darkmagenta") +
  labs(y = "Reported Anti-Jewish Crimes", x = "Crime Type", 
       title = "Types of Hate Crimes Against Jewish New Yorkers") +
  theme_grey()

Anti-Jewish Crimes against Persons is much less in all 12 years than Property based crimes (over 1000 reported crime count difference).

ggplot(data, aes(x=Crime.Type, y=Anti.Transgender)) +
  geom_bar(stat="identity", color = "darkmagenta", fill = "darkmagenta") +
  labs(y = "Reported Anti-Transgender Crimes", x = "Crime Type", 
       title = "Types of Hate Crimes Against Transgender New Yorkers") +
  theme_grey()

This shows the amount of Crime Against Persons against Property Crimes in a bar graph. Crimes Against Persons was higher than Property Crimes. This difference when compared to the overall crime types, where data was pulled from all reported Hate Crimes, did not have Crimes against Persons at a higher count than Property Crimes.

This is a bar graph showing which type of crimes were most prevalent over the years

ggplot(data, aes(x=Crime.Type, y=Total.Incidents)) +
  geom_bar(stat="identity", color = "darkmagenta", fill = "darkmagenta") +
  labs(y = "Reported Hate Crimes", x = "Crime Type", 
       title = "Types of Hate Crimes Committed Since 2010") +
  theme_grey()