-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
32b5613
commit b890286
Showing
15 changed files
with
7,129 additions
and
68 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,151 @@ | ||
--- | ||
title: "Stop and Frisk Digestion" | ||
author: "Nic Schwab" | ||
format: | ||
revealjs: | ||
theme: beige | ||
editor: visual | ||
--- | ||
|
||
# Stop, Question, Frisk | ||
|
||
- Started in the 1990s | ||
|
||
- New York City Police Practice | ||
|
||
- Police need "[reasonable suspicion](https://supreme.justia.com/cases/federal/us/392/1/)." | ||
|
||
- Leads to mistrust in the police by these groups. | ||
|
||
# Disclaimer: Person Bias | ||
|
||
I'm not Black. | ||
|
||
I am Hispanic. | ||
|
||
I look White. | ||
|
||
I am not from New York City. | ||
|
||
In this data analysis I will have limited perspective. | ||
|
||
# Disclaimer: Race | ||
|
||
This is an acknowledgement that the construct of race exists and plays a part in the way human being interact with each other. | ||
|
||
# The Data | ||
|
||
[Here is](https://www.nyc.gov/site/nypd/stats/reports-analysis/stopfrisk.page) NYC's stop and frisk data. | ||
|
||
Let's consider 2011 data | ||
|
||
::: nonincremental | ||
- Each column is a variable | ||
|
||
- and each row is a stop | ||
::: | ||
|
||
*The variable names are inconsistent across years.* | ||
|
||
# SQF History | ||
|
||
```{r stop-frisk-years} | ||
#| echo: TRUE | ||
#| warning: FALSE | ||
#| include: FALSE | ||
library(tidyverse) | ||
library(readxl) | ||
options(scipen = 10) | ||
``` | ||
|
||
```{r } | ||
#| eval: False | ||
# Read in each csv file. This is a lot | ||
# With purr csv | ||
file_paths_csv <- fs::dir_ls("../data/2003_2015_csv_files") | ||
file_contents_csv<- file_paths_csv |> | ||
map(function (path){ | ||
read_csv(path) | ||
}) | ||
# with purr excel | ||
file_paths_xl <- fs::dir_ls("../data/2016_2022_xl_files") | ||
file_contents_xl<- file_paths_xl |> | ||
map(function (path){ | ||
read_excel(path) | ||
}) | ||
# https://www.youtube.com/watch?v=An1bUIg-nVM | ||
#See the number of rows i.e stops in each year | ||
pre_2016 <- sapply(file_contents_csv, nrow) | ||
post_2016 <- sapply(file_contents_xl, nrow) | ||
``` | ||
|
||
```{r graph-of-stop} | ||
years <- c(2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 ) | ||
stops_frisks <- c(160851, 313523, 398191, 506491, 472096, 540302, 581168, 601285, 685724, 532911, 191851, 45787, 22563, 12405, 11629, 11008, 13459,9544 , 8947, 15102) | ||
sqf <- data.frame(years,stops_frisks) | ||
sqf |> | ||
ggplot(aes(years,stops_frisks)) + | ||
#geom_rect(aes(xmin=2002,xmax=2014,ymin=0,ymax=Inf),fill="#003585",alpha=0.01)+ | ||
#geom_rect(aes(xmin=2014,xmax=2021,ymin=0,ymax=Inf),fill="#FFFFFF",alpha=0.01)+ | ||
#geom_rect(aes(xmin=2021,xmax=2022,ymin=0,ymax=Inf),fill="#FF6600",alpha=0.01)+ | ||
geom_line()+ | ||
xlab("Year")+ | ||
ylab("Citizens Stopped ('000s)")+ | ||
labs(title="")+ | ||
theme_minimal()+ | ||
scale_y_continuous(breaks = c(0,350000,700000), labels = c("0","350","700"))+ | ||
scale_x_continuous(breaks = c(2003,2013,2022))+ | ||
geom_text(label="Bloomberg", x = 2004.5, y = 40000, color="gray35" ) + | ||
geom_text(label="de Blasio", x = 2016, y = 40000, color="gray35" ) + | ||
geom_text(label="Adams", x = 2022, y = 40000, color="gray35" ) + | ||
geom_text(label=". NYCLU \n suit", x = 2013, y = 650000, color="gray35" ) + | ||
geom_vline(xintercept=2012, linetype = 3 ) + | ||
theme( | ||
panel.grid.major = element_blank(), | ||
panel.grid.minor = element_blank(), | ||
axis.line = element_line(color = "black"), | ||
axis.text=element_text(size=12) | ||
) | ||
``` | ||
|
||
## You found: | ||
|
||
![SQF Lab Solutions 2024](images/SQF_results.png) | ||
|
||
## For comparison: | ||
|
||
Here's the demographics of NYC[^1]: | ||
|
||
[^1]: https://www.census.gov/quickfacts/fact/table/newyorkcitynewyork/PST045222 | ||
|
||
- Black: 23.4 % | ||
|
||
- Latino: 28.9% | ||
|
||
- White: 39.8% | ||
|
||
## Data exposure | ||
|
||
Data helped to expose the racism of the practice of Stop Question Frisk. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.