I analyzed 2.6 million+ vehicular and pedestrian traffic stops made by the Philadelphia Police Department from Jan. 1, 2014 to Feb. 2, 2020. Below are some interesting findings:
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
The number of pedetrian investigations had dropped by more than 60 percent from 2014 to 2019 while that of vehicular investigations increased by 82 percent. Does it mean the police is focusing more on vehicular investigations? If so, why is that so? Can the decreased number of pedestrian investigations be one of the reasons for increasing gun fatalities?
Another interesting finding here is that the increase in vehicular stops predominantly came from Black drivers - especially in 2019. Why is that so? Were police officers dispatched to predominantly black neighborhoods only? Can this a potential sign of the department’s aggravated racial profiling against Black drivers?
Philadelphia’s residents are 44 percent black, 36 percent white, 14 percent latino, according to the latest statistics. Given the numbers, blacks are disproportionately more likely to be stopped by the police - no matter they were walking or driving.
The disparity between black and white drivers is getting bigger as time goes by.
Blacks and Hispanics are more likely to be stopped by the police. But what makes it worse is that even after being stopped, Blacks and Hispanics are also more likely to be searched than Whites - no matter whether they were walking or driving.
The search rates for all races have increased, but the rates for Latino and Black pedestrians and drivers have increased more than that for their white counterparts. Between the two minorities, Hispanics are more likely to be searched when stopped.
Sadly, the search success rates for all races are dropping. This means the police is more likely to search innocent citizens.
## Warning: Removed 1 rows containing missing values (geom_label).
## # A tibble: 1 x 1
## mean
## <dbl>
## 1 -61.2
The total number of pedestrian investigations has dropped by 61 percent from Jan. 1, 2014 to Dec. 31, 2019.
## # A tibble: 23 x 4
## districtoccur X2014 X2019 pct_change
## <chr> <int> <int> <dbl>
## 1 26 11033 1599 -85.5
## 2 01 7295 1470 -79.8
## 3 02 6314 1408 -77.7
## 4 03 11379 2697 -76.3
## 5 07 1852 489 -73.6
## 6 17 11608 3168 -72.7
## 7 19 15869 4363 -72.5
## 8 05 2091 579 -72.3
## 9 25 14925 4257 -71.5
## 10 14 12181 3549 -70.9
## # … with 13 more rows
The districts that have seen the biggest drops are shown above in that order.
all_vehicular_stops %>%
group_by(year = year(datetimeoccur), districtoccur) %>%
tally() %>%
filter(year != 2020) %>%
spread(key = year, value = n) %>%
select(districtoccur, X2014 = '2014', X2019 = '2019') %>%
summarize(
mean = (sum(X2019, na.rm = TRUE)/sum(X2014, na.rm = TRUE) -1) * 100
)
## # A tibble: 1 x 1
## mean
## <dbl>
## 1 82.0
The total number of vehicular investigations has increased by 82 percent during the same timeframe.
## # A tibble: 22 x 4
## districtoccur X2014 X2019 pct_change
## <chr> <int> <int> <dbl>
## 1 14 13899 40545 192.
## 2 39 12563 36117 187.
## 3 18 11687 28417 143.
## 4 15 12514 29364 135.
## 5 17 7517 16253 116.
## 6 35 13598 28813 112.
## 7 12 15976 32778 105.
## 8 22 14688 27690 88.5
## 9 03 10123 18351 81.3
## 10 19 16035 27864 73.8
## # … with 12 more rows
The districts that have seen the highest increases are listed above in that order.
## # A tibble: 1 x 1
## mean
## <dbl>
## 1 32.0
During the six years, criminal homicides increased by 32 percent. (There are three classifications of homicides - criminal, justifiable, negligence. I just counted criminal homicides. If you think I should add others as well, please let me know.)
I created dual y-aexes plots comparing 1) pedestrian investigations and homicides and 2) vehicular investigations and homicides, by district. But I need to think more about using two y-axes on the same plot. Any feedback would be appreciated.
## geom_path: Each group consists of only one observation. Do you need to
## adjust the group aesthetic?
## Warning: Removed 2 rows containing missing values (geom_path).
## Warning: Removed 1 rows containing missing values (geom_path).