coul1 <- brewer.pal(4, "Set1") #create color palettes
coul2 <- brewer.pal(4, "Set2")
coul3 <- brewer.pal(4, "Set3")
names(SQF)
## [1] "STOP_ID"
## [2] "STOP_FRISK_DATE"
## [3] "STOP_FRISK_TIME"
## [4] "YEAR2"
## [5] "MONTH2"
## [6] "DAY2"
## [7] "STOP_WAS_INITIATED"
## [8] "RECORD_STATUS_CODE"
## [9] "ISSUING_OFFICER_RANK"
## [10] "ISSUING_OFFICER_COMMAND_CODE"
## [11] "SUPERVISING_OFFICER_RANK"
## [12] "SUPERVISING_OFFICER_COMMAND_CODE"
## [13] "SUPERVISING_ACTION_CORRESPONDING_ACTIVITY_LOG_ENTRY_REVIEWED"
## [14] "LOCATION_IN_OUT_CODE"
## [15] "JURISDICTION_CODE"
## [16] "JURISDICTION_DESCRIPTION"
## [17] "OBSERVED_DURATION_MINUTES"
## [18] "SUSPECTED_CRIME_DESCRIPTION"
## [19] "STOP_DURATION_MINUTES"
## [20] "OFFICER_EXPLAINED_STOP_FLAG"
## [21] "OFFICER_NOT_EXPLAINED_STOP_DESCRIPTION"
## [22] "OTHER_PERSON_STOPPED_FLAG"
## [23] "SUSPECT_ARRESTED_FLAG"
## [24] "SUSPECT_ARREST_OFFENSE"
## [25] "SUMMONS_ISSUED_FLAG"
## [26] "SUMMONS_OFFENSE_DESCRIPTION"
## [27] "OFFICER_IN_UNIFORM_FLAG"
## [28] "ID_CARD_IDENTIFIES_OFFICER_FLAG"
## [29] "SHIELD_IDENTIFIES_OFFICER_FLAG"
## [30] "VERBAL_IDENTIFIES_OFFICER_FLAG"
## [31] "FRISKED_FLAG"
## [32] "SEARCHED_FLAG"
## [33] "ASK_FOR_CONSENT_FLG"
## [34] "CONSENT_GIVEN_FLG"
## [35] "OTHER_CONTRABAND_FLAG"
## [36] "FIREARM_FLAG"
## [37] "KNIFE_CUTTER_FLAG"
## [38] "OTHER_WEAPON_FLAG"
## [39] "WEAPON_FOUND_FLAG"
## [40] "PHYSICAL_FORCE_CEW_FLAG"
## [41] "PHYSICAL_FORCE_DRAW_POINT_FIREARM_FLAG"
## [42] "PHYSICAL_FORCE_HANDCUFF_SUSPECT_FLAG"
## [43] "PHYSICAL_FORCE_OC_SPRAY_USED_FLAG"
## [44] "PHYSICAL_FORCE_OTHER_FLAG"
## [45] "PHYSICAL_FORCE_RESTRAINT_USED_FLAG"
## [46] "PHYSICAL_FORCE_VERBAL_INSTRUCTION_FLAG"
## [47] "PHYSICAL_FORCE_WEAPON_IMPACT_FLAG"
## [48] "BACKROUND_CIRCUMSTANCES_VIOLENT_CRIME_FLAG"
## [49] "BACKROUND_CIRCUMSTANCES_SUSPECT_KNOWN_TO_CARRY_WEAPON_FLAG"
## [50] "SUSPECTS_ACTIONS_CASING_FLAG"
## [51] "SUSPECTS_ACTIONS_CONCEALED_POSSESSION_WEAPON_FLAG"
## [52] "SUSPECTS_ACTIONS_DECRIPTION_FLAG"
## [53] "SUSPECTS_ACTIONS_DRUG_TRANSACTIONS_FLAG"
## [54] "SUSPECTS_ACTIONS_IDENTIFY_CRIME_PATTERN_FLAG"
## [55] "SUSPECTS_ACTIONS_LOOKOUT_FLAG"
## [56] "SUSPECTS_ACTIONS_OTHER_FLAG"
## [57] "SUSPECTS_ACTIONS_PROXIMITY_TO_SCENE_FLAG"
## [58] "SEARCH_BASIS_ADMISSION_FLAG"
## [59] "SEARCH_BASIS_CONSENT_FLAG"
## [60] "SEARCH_BASIS_HARD_OBJECT_FLAG"
## [61] "SEARCH_BASIS_INCIDENTAL_TO_ARREST_FLAG"
## [62] "SEARCH_BASIS_OTHER_FLAG"
## [63] "SEARCH_BASIS_OUTLINE_FLAG"
## [64] "DEMEANOR_OF_PERSON_STOPPED"
## [65] "SUSPECT_REPORTED_AGE"
## [66] "SUSPECT_SEX"
## [67] "SUSPECT_RACE_DESCRIPTION"
## [68] "SUSPECT_HEIGHT"
## [69] "SUSPECT_WEIGHT"
## [70] "SUSPECT_BODY_BUILD_TYPE"
## [71] "SUSPECT_EYE_COLOR"
## [72] "SUSPECT_HAIR_COLOR"
## [73] "SUSPECT_OTHER_DESCRIPTION"
## [74] "STOP_LOCATION_PRECINCT"
## [75] "STOP_LOCATION_SECTOR_CODE"
## [76] "STOP_LOCATION_APARTMENT"
## [77] "STOP_LOCATION_FULL_ADDRESS"
## [78] "STOP_LOCATION_STREET_NAME"
## [79] "STOP_LOCATION_X"
## [80] "STOP_LOCATION_Y"
## [81] "STOP_LOCATION_PATROL_BORO_NAME"
## [82] "STOP_LOCATION_BORO_NAME"
summary(SQF)
## STOP_ID STOP_FRISK_DATE STOP_FRISK_TIME YEAR2
## Min. : 1 Length:15102 Length:15102 Min. :2022
## 1st Qu.: 3776 Class :character Class1:hms 1st Qu.:2022
## Median : 7552 Mode :character Class2:difftime Median :2022
## Mean : 7552 Mode :numeric Mean :2022
## 3rd Qu.:11327 3rd Qu.:2022
## Max. :15102 Max. :2022
##
## MONTH2 DAY2 STOP_WAS_INITIATED RECORD_STATUS_CODE
## Length:15102 Length:15102 Length:15102 Length:15102
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## ISSUING_OFFICER_RANK ISSUING_OFFICER_COMMAND_CODE SUPERVISING_OFFICER_RANK
## Length:15102 Min. : 1.0 Length:15102
## Class :character 1st Qu.: 44.0 Class :character
## Mode :character Median : 69.0 Mode :character
## Mean :145.7
## 3rd Qu.:109.0
## Max. :879.0
##
## SUPERVISING_OFFICER_COMMAND_CODE
## Min. : 1.0
## 1st Qu.: 44.0
## Median : 69.0
## Mean :146.6
## 3rd Qu.:110.0
## Max. :879.0
##
## SUPERVISING_ACTION_CORRESPONDING_ACTIVITY_LOG_ENTRY_REVIEWED
## Length:15102
## Class :character
## Mode :character
##
##
##
##
## LOCATION_IN_OUT_CODE JURISDICTION_CODE JURISDICTION_DESCRIPTION
## Length:15102 Length:15102 Length:15102
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## OBSERVED_DURATION_MINUTES SUSPECTED_CRIME_DESCRIPTION STOP_DURATION_MINUTES
## Min. : 0.000 Length:15102 Min. : 0.000
## 1st Qu.: 1.000 Class :character 1st Qu.: 3.000
## Median : 1.000 Mode :character Median : 5.000
## Mean : 4.262 Mean : 9.259
## 3rd Qu.: 2.000 3rd Qu.: 10.000
## Max. :22041.000 Max. :830.000
##
## OFFICER_EXPLAINED_STOP_FLAG OFFICER_NOT_EXPLAINED_STOP_DESCRIPTION
## Length:15102 Length:15102
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## OTHER_PERSON_STOPPED_FLAG SUSPECT_ARRESTED_FLAG SUSPECT_ARREST_OFFENSE
## Length:15102 Length:15102 Length:15102
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## SUMMONS_ISSUED_FLAG SUMMONS_OFFENSE_DESCRIPTION OFFICER_IN_UNIFORM_FLAG
## Length:15102 Length:15102 Length:15102
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## ID_CARD_IDENTIFIES_OFFICER_FLAG SHIELD_IDENTIFIES_OFFICER_FLAG
## Length:15102 Length:15102
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## VERBAL_IDENTIFIES_OFFICER_FLAG FRISKED_FLAG SEARCHED_FLAG
## Length:15102 Length:15102 Length:15102
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## ASK_FOR_CONSENT_FLG CONSENT_GIVEN_FLG OTHER_CONTRABAND_FLAG
## Length:15102 Length:15102 Length:15102
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## FIREARM_FLAG KNIFE_CUTTER_FLAG OTHER_WEAPON_FLAG WEAPON_FOUND_FLAG
## Length:15102 Length:15102 Length:15102 Length:15102
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## PHYSICAL_FORCE_CEW_FLAG PHYSICAL_FORCE_DRAW_POINT_FIREARM_FLAG
## Length:15102 Length:15102
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## PHYSICAL_FORCE_HANDCUFF_SUSPECT_FLAG PHYSICAL_FORCE_OC_SPRAY_USED_FLAG
## Length:15102 Length:15102
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## PHYSICAL_FORCE_OTHER_FLAG PHYSICAL_FORCE_RESTRAINT_USED_FLAG
## Length:15102 Length:15102
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## PHYSICAL_FORCE_VERBAL_INSTRUCTION_FLAG PHYSICAL_FORCE_WEAPON_IMPACT_FLAG
## Length:15102 Length:15102
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## BACKROUND_CIRCUMSTANCES_VIOLENT_CRIME_FLAG
## Length:15102
## Class :character
## Mode :character
##
##
##
##
## BACKROUND_CIRCUMSTANCES_SUSPECT_KNOWN_TO_CARRY_WEAPON_FLAG
## Length:15102
## Class :character
## Mode :character
##
##
##
##
## SUSPECTS_ACTIONS_CASING_FLAG SUSPECTS_ACTIONS_CONCEALED_POSSESSION_WEAPON_FLAG
## Length:15102 Length:15102
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## SUSPECTS_ACTIONS_DECRIPTION_FLAG SUSPECTS_ACTIONS_DRUG_TRANSACTIONS_FLAG
## Length:15102 Length:15102
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## SUSPECTS_ACTIONS_IDENTIFY_CRIME_PATTERN_FLAG SUSPECTS_ACTIONS_LOOKOUT_FLAG
## Length:15102 Length:15102
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## SUSPECTS_ACTIONS_OTHER_FLAG SUSPECTS_ACTIONS_PROXIMITY_TO_SCENE_FLAG
## Length:15102 Length:15102
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## SEARCH_BASIS_ADMISSION_FLAG SEARCH_BASIS_CONSENT_FLAG
## Length:15102 Length:15102
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## SEARCH_BASIS_HARD_OBJECT_FLAG SEARCH_BASIS_INCIDENTAL_TO_ARREST_FLAG
## Length:15102 Length:15102
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## SEARCH_BASIS_OTHER_FLAG SEARCH_BASIS_OUTLINE_FLAG DEMEANOR_OF_PERSON_STOPPED
## Length:15102 Length:15102 Length:15102
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## SUSPECT_REPORTED_AGE SUSPECT_SEX SUSPECT_RACE_DESCRIPTION
## Length:15102 Length:15102 Length:15102
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## SUSPECT_HEIGHT SUSPECT_WEIGHT SUSPECT_BODY_BUILD_TYPE
## Length:15102 Length:15102 Length:15102
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## SUSPECT_EYE_COLOR SUSPECT_HAIR_COLOR SUSPECT_OTHER_DESCRIPTION
## Length:15102 Length:15102 Length:15102
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## STOP_LOCATION_PRECINCT STOP_LOCATION_SECTOR_CODE STOP_LOCATION_APARTMENT
## Min. : 1.00 Length:15102 Length:15102
## 1st Qu.: 40.00 Class :character Class :character
## Median : 52.00 Mode :character Mode :character
## Mean : 60.41
## 3rd Qu.: 81.00
## Max. :123.00
##
## STOP_LOCATION_FULL_ADDRESS STOP_LOCATION_STREET_NAME STOP_LOCATION_X
## Length:15102 Length:15102 Min. : -73
## Class :character Class :character 1st Qu.: 996435
## Mode :character Mode :character Median :1006614
## Mean :1005888
## 3rd Qu.:1014426
## Max. :1066574
## NA's :3
## STOP_LOCATION_Y STOP_LOCATION_PATROL_BORO_NAME STOP_LOCATION_BORO_NAME
## Min. : 40 Length:15102 Length:15102
## 1st Qu.:186731 Class :character Class :character
## Median :212639 Mode :character Mode :character
## Mean :212073
## 3rd Qu.:241184
## Max. :271485
## NA's :3
p <- ggplot(SQF, aes(x = factor(SUSPECT_RACE_DESCRIPTION), fill = factor(FRISKED_FLAG))) +
geom_bar(position = "dodge", col = "black")+
labs(x = "Race",
y = "Frequency",
title = "The Affect of Race on Being Frisked",
caption = "Voronyak 2023") +
theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = 0.5))
p + scale_fill_discrete(name = "Frisked", labels = c("No", "Yes")) + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
p <- ggplot(SQF, aes(x = factor(SUSPECT_RACE_DESCRIPTION), fill = factor(SUSPECT_ARRESTED_FLAG))) +
geom_bar(position = "dodge", col = "black")+
labs(x = "Race",
y = "Frequency",
title = "The Affect of Race on Being Arrested",
caption = "Voronyak 2023") +
theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = 0.5))
p + scale_fill_discrete(name = "Arrested", labels = c("No", "Yes")) + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
p <- ggplot(SQF, aes(x = factor(SUSPECT_SEX), fill = factor(SUSPECT_ARRESTED_FLAG))) +
geom_bar(position = "dodge", col = "black")+
labs(x = "Sex",
y = "Frequency",
title = "The Affect of Sex on Being Arrested",
caption = "Voronyak 2023") +
theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = 0.5))
p + scale_fill_discrete(name = "Arrested", labels = c("No", "Yes"))
p <- ggplot(SQF, aes(x = factor(SUSPECT_SEX), fill = factor(FRISKED_FLAG))) +
geom_bar(position = "dodge", col = "black")+
labs(x = "Sex",
y = "Frequency",
title = "The Affect of Sex on Being Frisked",
caption = "Voronyak 2023") +
theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = 0.5))
p + scale_fill_discrete(name = "Frisked", labels = c("No", "Yes"))
Is it more likely for someone with the race description “Black” to be frisked? Is it more likely for someone with the race description “Black” to be arrested?
Are Males more likely to be arrested? Are Males more likely to be frisked?
SQF$SUSPECT_REPORTED_AGE <-as.numeric(SQF$SUSPECT_REPORTED_AGE)
F1 <- aggregate(SUSPECT_REPORTED_AGE ~ SUSPECT_SEX, data = SQF, median)
barplot(with(F1,setNames(SUSPECT_REPORTED_AGE,SUSPECT_SEX)),main="SUSPECT AGE vs. SUSPECT SEX",xlab = "SUSPECT SEX", ylab ="SUSPECT AGE", col=coul1)
par(mar=c(11,4,4,4))
F2 <- aggregate(SUSPECT_REPORTED_AGE ~ SUSPECT_RACE_DESCRIPTION, data = SQF, median)
barplot(with(F2,setNames(SUSPECT_REPORTED_AGE,SUSPECT_RACE_DESCRIPTION)),main="SUSPECT AGE vs. SUSPECT SEX", ylab ="SUSPECT AGE", col=coul2,las = 3,cex.names = 0.65)
title(xlab = "SUSPECT RACE",line = 7)
p <- ggplot(SQF, aes(x = factor(SUSPECT_BODY_BUILD_TYPE), fill = factor(SUSPECT_ARRESTED_FLAG))) +
geom_bar(position = "dodge", col = "black")+
labs(x = "Build",
y = "Frequency",
title = "The Affect of Body Build on Being Arrested",
caption = "Voronyak 2023") +
theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = 0.5))
p + scale_fill_discrete(name = "Arrested", labels = c("No", "Yes"))
p <- ggplot(SQF, aes(x = factor(SUSPECT_BODY_BUILD_TYPE), fill = factor(FRISKED_FLAG))) +
geom_bar(position = "dodge", col = "black")+
labs(x = "Build",
y = "Frequency",
title = "The Affect of Body Build on Being Frisked",
caption = "Voronyak 2023") +
theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = 0.5))
p + scale_fill_discrete(name = "Frisked", labels = c("No", "Yes"))
SQF$STOP_DURATION_MINUTES <-as.numeric(SQF$STOP_DURATION_MINUTES)
p <- ggplot(SQF, aes(x = SUSPECT_REPORTED_AGE, y = STOP_DURATION_MINUTES, col = factor(SUSPECT_ARRESTED_FLAG))) +
geom_point() +
labs(x = "AGE", y = "STOP DURATION",
title = "STOP DURATION vs. AGE",
caption = "Voronyak 2023") +
theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = 0.5))
p + scale_color_discrete(name = "ARRESTED", labels = c("No", "Yes"))
## Warning: Removed 1711 rows containing missing values (`geom_point()`).
## Questions
Are thin people more likely to be arrested? Are they more likely to be frisked?
Are heavy people less likely to be arrested/frisked?
Are younger black people more likely to be suspects?
p <- ggplot(SQF, aes(x = factor(SUSPECT_RACE_DESCRIPTION), fill = factor(CONSENT_GIVEN_FLG))) +
geom_bar(position = "dodge", col = "black")+
labs(x = "Race",
y = "Frequency",
title = "If Consent was Given by Race",
caption = "Voronyak 2023") +
theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = 0.5))
p + scale_fill_discrete(name = "Consent Given", labels = c("No", "Yes")) + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
## Question 8
Was consent given for most cases when people were confronted by an officer? Does race matter?
It appears that the majority of the cases involved with arrests or
being frisked are by racial description “black”. Of those the majority
were frisked and about half of those were arrested.
The gender of the individual is heavily male dominated for both frisk
and arrests.
The age of the individuals appear to be younger, around 25-30 in age.
Breaking it down by the min and max of age categories based on race,
black individuals tend to be youngest (~25) and white individuals are
oldest (~32). The build of the individual tends to have some
significance (we do not know the # of all individuals in the universal
set of data, so this could be skewed) on being frisked/arrested. Thin
people are by far more likely to be frisked and arrested. Larger
individuals seems to be a lot less likely for both of those categories.
Does this mean there are less of those individuals in the population, is
this proportional? or is this a statistically significant number and
does the size play into the confrontations being more dangerous?
Consent, by all races, seems to be not given a lot of the time there is
a confrontation with an officer.