In COVID-19 & Baltimore Crime: Part 1, we saw that as instances of cornovirus increase in MD, overall reported crime levels decreased.
As the project continued in Part 2, I annotated these graphs with key dates (school closings, limitation of mass gatherings,etc.) to provide additional context.
Now, two months later, it’s time to re-visit that chart and see if this trend continues.
In particular, has this trend continued during the period of protests following the death of Mr. George Floyd, when hundreds of Baltimoreans filled the streets to protest police brutality?
As we can see, reported crime this year is still much lower than it was last year. If we look at the numbers, crime is down about 30% from 26,071 reported crimes from 3/01-6/13 in 2019, to 18,145 reported crimes during the same period this year (BCPD, 2020).
But what about the protests?
If we add in May 25th, the date of George Floyd’s murder, we can see that crime does indeed spike shortly afterwards - but, this mirrors a similar spike in crime that occurred at exactly the same time during 2019.
After this spike, reported crime then follows a similar pattern as last year. Around June 1st, there is a sharp decline in reported crimes, seemingly for several days, before picking back up slightly. It doesn’t reach the same level as the peak, but it has still risen.
But, this rise is not nearly as high as last year.
In fact, if we contrast the time period of the protests with the rest of the timeline, we can see that this is actually the lowest reported levels in this entire three month period.
Let’s look at the period following Mr. Floyd’s death a little more closely.
The dark point represents 5/25, the date of Floyd’s murder. The shaded areas afterwards represent the subsequent weeks during which protests took place in Baltimore City and across the country.
It’s clear from the graph that crime reports not only continue to decline during this time, but are markedly lower from last year’s levels during this same period. How much lower? About 49 percent.
According to the reported crime statistics reported to the Baltimore Police Department, last year 5,394 crimes were reported in Baltimore City from 5/25 - 6/13. This year, only 2,771 crimes were reported during that same period.
These results lead to additional questions:
Has the number of committed crimes actually decreased, or are less crimes being reported to the police?
Overall reported crimes have decreased. Does this mean that reports on all types of crime (see footnote) have decreased, or are some types of crime still being reported at levels equal to, or near last year’s?
How did I make my graphs?
See the commented code below to see how I constructed the graphs in this article. For more articles I’ve published on coding in R, check out my profile on RPubs.
library(tidyverse)
library(gridExtra)
library(knitr)
library(ggthemes)
#Graph of march 2019 crime vs march 2020 crime
#importing March 2020 crime data from openbaltimore.gov
crime <- read.csv("BPD_Part_1_Victim_Based_Crime_Data_mar_thru_june_2020.csv", stringsAsFactors = TRUE)
names(crime)[1]<-"Date" #renaming date col
crime$Date<-as.Date(crime$Date, format = "%m/%d/%Y") #converting date format
crime_count<-crime %>% group_by(Description) %>% tally()
daily_crime<-crime %>% group_by(Date) %>% tally()# determining number crimes occurring by date
#importing March 2019 crime data from openbaltimore.gov
crime19<-read.csv("BPD_Part_1_Victim_Based_Crime_Data_mar_thru_june_2019.csv", stringsAsFactors = TRUE)
names(crime19)[1]<-"Date"
crime19$Date<-as.Date(crime19$Date, format = "%m/%d/%Y")
#summary tables of crimes in 2019
crime19_count<-crime19 %>% group_by(Description) %>% tally()
daily_crime19<-crime19 %>% group_by(Date) %>% tally()# number crimes occurring by date
daily_crime$Date<-format(daily_crime$Date, format="%m/%d")
daily_crime19$Date<-format(daily_crime19$Date, format="%m/%d")
#Joining '19 and '20 data together into one dataframe
all<-daily_crime19 %>% full_join(daily_crime, by = "Date")
names(all)[2]<-"Count2019"#renaming cols
names(all)[3]<-"Count2020"
all$Date<-as.Date(all$Date,"%m/%d")
#creating my own color blind-friendly colors list
colors<-c("2019"="#10A0BA" , "2020"="#D81B60", "mar16"="yellow")
#making a new df so I can create a column of numbers to use instead of the date columns (easier to maniuplate numbers rather than dates for the annotations)
x<-nrow(all)
all2<-all
all2$num<-c(1:x)
#put group=1 to deal with "each group has only 1 observation" error
p<-ggplot(data=all2, aes(x=factor(num), group=1)) + geom_line(aes(y=Count2019, color="2019")) +
geom_line(aes(y=Count2020, color="2020")) +
scale_color_manual(values=colors, name=NULL) +
labs(title="Baltimore City Crime",caption= "Source: data.baltimorecity.gov", x=NULL, y="Reported Crimes")
#p<-p + scale_x_discrete(breaks=seq(30,100,30))
p<-p + scale_x_discrete(breaks = c(1,32,62,93), labels=c("3/1", "4/1", "5/1", "6/1"))
#Annotating graphs with key dates
#Adding in the arrow annotations. xend of arrow is the observation coords (the point)
p1<-p+annotate(geom="text", x=10, y=310, label="Schools Closed", hjust="left")+
annotate(geom="curve", x=14, y=300, xend=16, yend=225, curvature=0, arrow=arrow(length=unit(2,"mm")))
p2<-p+ annotate(geom="text", x=55, y=115, label="Death of George Floyd", hjust="left")+
annotate(geom="curve", x=83, y=125, xend=86, yend=150, curvature=0, arrow=arrow(length=unit(2,"mm")))
#group = 1 b/c 1 obs per group
p3<-ggplot(data = all2, aes(x=factor(num), group=1)) +
geom_line(aes(y=Count2019, color="2019"))+
geom_line(aes(y=Count2020, color = "2020"))+
scale_color_manual(values=colors, name=NULL)+
coord_cartesian(xlim=c(81,105))+ #zooming in by reducing x limit
scale_x_discrete(breaks=seq(81,101,5), labels=c("5/20","5/25","5/30","6/04","6/09"))+
labs(title="Crime During June Protests", caption = "Source: data.baltimorecity.gov", x=NULL, y="No. of Reported Crimes")
#Highlighting murder of George Floyd
p3<-p3+geom_point(aes(x=86, y=152), color="black", size=3)
#adding shading for protests from 29 May -June 12
p3<-p3 + annotate("rect", xmin = 90, xmax = 104, ymin = 60, ymax = 360, colour = "blue", fill="blue",
alpha = 0.2)
Sources
Baltimore Police Dept. “BPD Part 1 Victim Based Crime Data: Open Baltimore: City of Baltimore Open Data Catalog.” City of Baltimore, 13 June 2020, https://data.baltimorecity.gov/Public-Safety/BPD-Part-1-Victim-Based-Crime-Data/wsfq-mvij
Hill, Evan, et al. “8 Minutes and 46 Seconds: How George Floyd Was Killed in Police Custody.” The New York Times, The New York Times, 18 June 2020, www.nytimes.com/2020/05/31/us/george-floyd-investigation.html.
“George Floyd Protests in Maryland.” Wikipedia, Wikimedia Foundation, 13 June 2020, https://en.wikipedia.org/wiki/George_Floyd_protests_in_Maryland
“The Office of Governor Larry Hogan.” Governor of Maryland, The Office of Governor Larry Hogan, 2020, https://www.governor.maryland.gov/2020/03/12/governor-hogan-announces-major-actions-to-protect-public-health-limit-spread-of-covid-19-pandemic/.
Footnote: Crime types are those categorized by the Baltimore City Police Department in the dataset used for this article. They are as follows: shooting, robbery-street, robbery-residence, robbery-commercial, robbery-carjacking, rape, larceny from auto, larceny, homicide, common assault, burglary, auto theft, arson, agg. assault.