Load Libraries
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.6 v dplyr 1.0.8
## v tidyr 1.2.0 v stringr 1.4.0
## v readr 2.1.2 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(readr)
library(RColorBrewer)
## Warning: package 'RColorBrewer' was built under R version 4.1.3
library(leaflet)
## Warning: package 'leaflet' was built under R version 4.1.3
library(readr)
Part1_Crime_data_1_ <- read_csv("Part1_Crime_data (1).csv")
## Warning: One or more parsing issues, see `problems()` for details
## Rows: 517177 Columns: 19
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr (11): CrimeDateTime, CrimeCode, Location, Description, Inside_Outside, W...
## dbl (7): X, Y, RowID, Post, Latitude, Longitude, Total_Incidents
## lgl (1): Shape
##
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(Part1_Crime_data_1_)
For my project, I decided to practice GIS mapping and locate the murder of a Baltimore city police Officer Keonna Holley. According to CNN, “The fatal shooting occurred at 1:30 a.m. on December 16 when an assailant”apparently walked up somewhere from the rear of the (police) vehicle or alongside the vehicle and began firing into the vehicle striking our officer,” Harrison said last week. It was reported that Officer Holley made an attemtp to escaped when she accelerated the patrol vehicle but unfortunately crashed.
Once I loaded my dataset into R, I was able to use dplyr package to locate what I assume to be Officer Holley’s death. I am assuming this is her death because of the location, time, description, and weapon variables within my dataset.
1.) Locate Officer’s Holley location of death
charmcitycrimes <- Part1_Crime_data_1_ %>%
select(CrimeDateTime, Location, Description, Weapon, Latitude, Longitude) %>%
filter(Location %in% c("500 LUCIA AVE", "600 LUCIA AVE")) %>%
filter(Description == "HOMICIDE")
charmcitycrimes
## # A tibble: 1 x 6
## CrimeDateTime Location Description Weapon Latitude Longitude
## <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 2021/12/16 03:07:32+00 600 LUCIA AVE HOMICIDE FIREARM 39.3 -76.7
Since this is my first mapping project, I figured that grabbing the longtitude and latitude would be helpful. Although I did not need the dicrect numbers to use with the leaflet package, I found othwr packegs that did require the longtitude and latitude variables. My dataset was very organized so it made mapping a very easy task for me to do.
#charmcitycrimes$Longitude <- as.numeric(charmcitycrimes$Longitude)
#charmcitycrimes$Latitude < as.numeric(charmcitycrimes$Latitude)
class(charmcitycrimes$Longitude)
## [1] "numeric"
class(charmcitycrimes$Latitude)
## [1] "numeric"
library(sp)
## Warning: package 'sp' was built under R version 4.1.3
###One Attempt to make the map.
cccmapOH <- SpatialPointsDataFrame(charmcitycrimes[, c(5,6)], charmcitycrimes[,-c(5,6)])
cccmapOH
## coordinates CrimeDateTime Location Description Weapon
## 1 (39.2739, -76.6922) 2021/12/16 03:07:32+00 600 LUCIA AVE HOMICIDE FIREARM
Here I was able to use the leaflet package to create the map using the two longtitude and latitiude variables from the Baltimore Crimes Dataset.
cccmap1 <- leaflet() %>%
addTiles() %>%
addMarkers(data = charmcitycrimes, lng= charmcitycrimes$Longitude, lat= charmcitycrimes$Latitude, popup = charmcitycrimes$Description)
cccmap1
While investigators were processing the scene of Holley’s shooting, another homicide occurred not far from that location, Harrison said.
Let’s locate the other reported homicides
charmcitycrimes2 <- Part1_Crime_data_1_ %>%
select(CrimeDateTime, Location, Description, Weapon, Latitude, Longitude) %>%
filter(Location %in% c("500 LUCIA AVE", "600 LUCIA AVE"))
charmcitycrimes2
## # A tibble: 105 x 6
## CrimeDateTime Location Description Weapon Latitude Longitude
## <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 2022/04/04 07:18:00+00 500 LUCIA AVE AUTO THEFT <NA> 39.3 -76.7
## 2 2022/03/09 00:30:00+00 500 LUCIA AVE AGG. ASSAULT PERSO~ 39.3 -76.7
## 3 2022/03/09 00:30:00+00 500 LUCIA AVE COMMON ASSAULT PERSO~ 39.3 -76.7
## 4 2022/03/09 00:30:00+00 500 LUCIA AVE AGG. ASSAULT PERSO~ 39.3 -76.7
## 5 2022/02/16 11:20:00+00 500 LUCIA AVE COMMON ASSAULT PERSO~ 39.3 -76.7
## 6 2022/02/06 23:00:00+00 600 LUCIA AVE LARCENY <NA> 39.3 -76.7
## 7 2021/12/16 03:07:32+00 600 LUCIA AVE HOMICIDE FIREA~ 39.3 -76.7
## 8 2021/07/26 14:30:00+00 500 LUCIA AVE LARCENY FROM ~ <NA> 39.3 -76.7
## 9 2021/07/14 04:50:00+00 600 LUCIA AVE COMMON ASSAULT PERSO~ 39.3 -76.7
## 10 2021/07/14 04:55:40+00 600 LUCIA AVE COMMON ASSAULT <NA> 39.3 -76.7
## # ... with 95 more rows
charmcitycrimes2
## # A tibble: 105 x 6
## CrimeDateTime Location Description Weapon Latitude Longitude
## <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 2022/04/04 07:18:00+00 500 LUCIA AVE AUTO THEFT <NA> 39.3 -76.7
## 2 2022/03/09 00:30:00+00 500 LUCIA AVE AGG. ASSAULT PERSO~ 39.3 -76.7
## 3 2022/03/09 00:30:00+00 500 LUCIA AVE COMMON ASSAULT PERSO~ 39.3 -76.7
## 4 2022/03/09 00:30:00+00 500 LUCIA AVE AGG. ASSAULT PERSO~ 39.3 -76.7
## 5 2022/02/16 11:20:00+00 500 LUCIA AVE COMMON ASSAULT PERSO~ 39.3 -76.7
## 6 2022/02/06 23:00:00+00 600 LUCIA AVE LARCENY <NA> 39.3 -76.7
## 7 2021/12/16 03:07:32+00 600 LUCIA AVE HOMICIDE FIREA~ 39.3 -76.7
## 8 2021/07/26 14:30:00+00 500 LUCIA AVE LARCENY FROM ~ <NA> 39.3 -76.7
## 9 2021/07/14 04:50:00+00 600 LUCIA AVE COMMON ASSAULT PERSO~ 39.3 -76.7
## 10 2021/07/14 04:55:40+00 600 LUCIA AVE COMMON ASSAULT <NA> 39.3 -76.7
## # ... with 95 more rows
head(charmcitycrimes2, 15)
## # A tibble: 15 x 6
## CrimeDateTime Location Description Weapon Latitude Longitude
## <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 2022/04/04 07:18:00+00 500 LUCIA AVE AUTO THEFT <NA> 39.3 -76.7
## 2 2022/03/09 00:30:00+00 500 LUCIA AVE AGG. ASSAULT PERSO~ 39.3 -76.7
## 3 2022/03/09 00:30:00+00 500 LUCIA AVE COMMON ASSAULT PERSO~ 39.3 -76.7
## 4 2022/03/09 00:30:00+00 500 LUCIA AVE AGG. ASSAULT PERSO~ 39.3 -76.7
## 5 2022/02/16 11:20:00+00 500 LUCIA AVE COMMON ASSAULT PERSO~ 39.3 -76.7
## 6 2022/02/06 23:00:00+00 600 LUCIA AVE LARCENY <NA> 39.3 -76.7
## 7 2021/12/16 03:07:32+00 600 LUCIA AVE HOMICIDE FIREA~ 39.3 -76.7
## 8 2021/07/26 14:30:00+00 500 LUCIA AVE LARCENY FROM ~ <NA> 39.3 -76.7
## 9 2021/07/14 04:50:00+00 600 LUCIA AVE COMMON ASSAULT PERSO~ 39.3 -76.7
## 10 2021/07/14 04:55:40+00 600 LUCIA AVE COMMON ASSAULT <NA> 39.3 -76.7
## 11 2021/06/14 12:19:00+00 500 LUCIA AVE COMMON ASSAULT <NA> 39.3 -76.7
## 12 2021/06/12 19:00:00+00 600 LUCIA AVE LARCENY <NA> 39.3 -76.7
## 13 2021/06/02 15:20:00+00 500 LUCIA AVE COMMON ASSAULT <NA> 39.3 -76.7
## 14 2021/05/19 06:20:00+00 500 LUCIA AVE LARCENY FROM ~ <NA> 39.3 -76.7
## 15 2021/04/21 12:30:00+00 600 LUCIA AVE AGG. ASSAULT FIREA~ 39.3 -76.7
The only reported Murder that day assumes to be Officer Holley’s death within this dataset despite the report of Justin Johnson’s homicide. It was later reported that Johnson was murdered 10 miles south west of Officer Keona Holley’s death.
“After Holley’s shooting, police allege the two men went to a southwest Baltimore neighborhood about 10 miles (16 kilometers) away and shot and killed 38-year-old Justin Johnson.”
https://afro.com/baltimore-officer-dies-days-after-being-shot-in-patrol-car/
Other reported deaths who investigators believe to be related.
12/16/2021 – 600 Lucia Avenue – Justin Johnson (38) of the 500 block of Lucia Avenue 12/16/2021 – 500 Denison Street – Jajuan Robinson (17) No last known address 12/17/2021 – 600 Laurens Street – Aaron Adams (29) of the 4300 block of Connecticut Avenue
https://foxbaltimore.com/news/local/baltimore-police-identify-3-homicide-victims
“What we now know is that both shootings are related,” Harrison said. “As we now know the perpetrators of Officer Holly’s shooting, they then left that scene, went to Lucia Avenue and then committed that homicide of Justin Johnson.”
https://www.cnn.com/2021/12/16/us/baltimore-officer-ambushed/index.html
cccmap2 <- leaflet() %>%
addTiles() %>%
addMarkers(data = charmcitycrimes2, lng= charmcitycrimes2$Longitude, lat= charmcitycrimes2$Latitude, popup = charmcitycrimes2$Description)
cccmap2
Bibliography / Works Cited
https://foxbaltimore.com/news/local/baltimore-police-identify-3-homicide-victims
https://afro.com/baltimore-officer-dies-days-after-being-shot-in-patrol-car/
https://www.cnn.com/2021/12/16/us/baltimore-officer-ambushed/index.html