This dataset looks at all types of hate crimes in New York counties by the type of hate crime from 2010 to 2016.
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.3 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.3 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
setwd("/Users/nnokigbo/Downloads")
hatecrimes <- read_csv("hateCrimes2010.csv")
## Rows: 423 Columns: 44
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (2): County, Crime Type
## dbl (42): Year, Anti-Male, Anti-Female, Anti-Transgender, Anti-Gender Identi...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
names(hatecrimes) <- tolower(names(hatecrimes))
names(hatecrimes) <- gsub(" ","", names(hatecrimes))
head(hatecrimes)
## # A tibble: 6 × 44
## county year crimetype `anti-male` `anti-female` `anti-transgender`
## <chr> <dbl> <chr> <dbl> <dbl> <dbl>
## 1 Albany 2016 Crimes Against Pe… 0 0 0
## 2 Albany 2016 Property Crimes 0 0 0
## 3 Allegany 2016 Property Crimes 0 0 0
## 4 Bronx 2016 Crimes Against Pe… 0 0 4
## 5 Bronx 2016 Property Crimes 0 0 0
## 6 Broome 2016 Crimes Against Pe… 0 0 0
## # ℹ 38 more variables: `anti-genderidentityexpression` <dbl>,
## # `anti-age*` <dbl>, `anti-white` <dbl>, `anti-black` <dbl>,
## # `anti-americanindian/alaskannative` <dbl>, `anti-asian` <dbl>,
## # `anti-nativehawaiian/pacificislander` <dbl>,
## # `anti-multi-racialgroups` <dbl>, `anti-otherrace` <dbl>,
## # `anti-jewish` <dbl>, `anti-catholic` <dbl>, `anti-protestant` <dbl>,
## # `anti-islamic(muslim)` <dbl>, `anti-multi-religiousgroups` <dbl>, …
summary(hatecrimes)
## county year crimetype anti-male
## Length:423 Min. :2010 Length:423 Min. :0.000000
## Class :character 1st Qu.:2011 Class :character 1st Qu.:0.000000
## Mode :character Median :2013 Mode :character Median :0.000000
## Mean :2013 Mean :0.007092
## 3rd Qu.:2015 3rd Qu.:0.000000
## Max. :2016 Max. :1.000000
## anti-female anti-transgender anti-genderidentityexpression
## Min. :0.00000 Min. :0.00000 Min. :0.00000
## 1st Qu.:0.00000 1st Qu.:0.00000 1st Qu.:0.00000
## Median :0.00000 Median :0.00000 Median :0.00000
## Mean :0.01655 Mean :0.04728 Mean :0.05674
## 3rd Qu.:0.00000 3rd Qu.:0.00000 3rd Qu.:0.00000
## Max. :1.00000 Max. :5.00000 Max. :3.00000
## anti-age* anti-white anti-black
## Min. :0.00000 Min. : 0.0000 Min. : 0.000
## 1st Qu.:0.00000 1st Qu.: 0.0000 1st Qu.: 0.000
## Median :0.00000 Median : 0.0000 Median : 1.000
## Mean :0.05201 Mean : 0.3357 Mean : 1.761
## 3rd Qu.:0.00000 3rd Qu.: 0.0000 3rd Qu.: 2.000
## Max. :9.00000 Max. :11.0000 Max. :18.000
## anti-americanindian/alaskannative anti-asian
## Min. :0.000000 Min. :0.0000
## 1st Qu.:0.000000 1st Qu.:0.0000
## Median :0.000000 Median :0.0000
## Mean :0.007092 Mean :0.1773
## 3rd Qu.:0.000000 3rd Qu.:0.0000
## Max. :1.000000 Max. :8.0000
## anti-nativehawaiian/pacificislander anti-multi-racialgroups anti-otherrace
## Min. :0 Min. :0.00000 Min. :0
## 1st Qu.:0 1st Qu.:0.00000 1st Qu.:0
## Median :0 Median :0.00000 Median :0
## Mean :0 Mean :0.08511 Mean :0
## 3rd Qu.:0 3rd Qu.:0.00000 3rd Qu.:0
## Max. :0 Max. :3.00000 Max. :0
## anti-jewish anti-catholic anti-protestant anti-islamic(muslim)
## Min. : 0.000 Min. : 0.0000 Min. :0.00000 Min. : 0.0000
## 1st Qu.: 0.000 1st Qu.: 0.0000 1st Qu.:0.00000 1st Qu.: 0.0000
## Median : 0.000 Median : 0.0000 Median :0.00000 Median : 0.0000
## Mean : 3.981 Mean : 0.2695 Mean :0.02364 Mean : 0.4704
## 3rd Qu.: 3.000 3rd Qu.: 0.0000 3rd Qu.:0.00000 3rd Qu.: 0.0000
## Max. :82.000 Max. :12.0000 Max. :1.00000 Max. :10.0000
## anti-multi-religiousgroups anti-atheism/agnosticism
## Min. : 0.00000 Min. :0
## 1st Qu.: 0.00000 1st Qu.:0
## Median : 0.00000 Median :0
## Mean : 0.07565 Mean :0
## 3rd Qu.: 0.00000 3rd Qu.:0
## Max. :10.00000 Max. :0
## anti-religiouspracticegenerally anti-otherreligion anti-buddhist
## Min. :0.000000 Min. :0.000 Min. :0
## 1st Qu.:0.000000 1st Qu.:0.000 1st Qu.:0
## Median :0.000000 Median :0.000 Median :0
## Mean :0.007092 Mean :0.104 Mean :0
## 3rd Qu.:0.000000 3rd Qu.:0.000 3rd Qu.:0
## Max. :2.000000 Max. :4.000 Max. :0
## anti-easternorthodox(greek,russian,etc.) anti-hindu
## Min. :0.000000 Min. :0.000000
## 1st Qu.:0.000000 1st Qu.:0.000000
## Median :0.000000 Median :0.000000
## Mean :0.002364 Mean :0.002364
## 3rd Qu.:0.000000 3rd Qu.:0.000000
## Max. :1.000000 Max. :1.000000
## anti-jehovahswitness anti-mormon anti-otherchristian anti-sikh
## Min. :0 Min. :0 Min. :0.00000 Min. :0
## 1st Qu.:0 1st Qu.:0 1st Qu.:0.00000 1st Qu.:0
## Median :0 Median :0 Median :0.00000 Median :0
## Mean :0 Mean :0 Mean :0.01655 Mean :0
## 3rd Qu.:0 3rd Qu.:0 3rd Qu.:0.00000 3rd Qu.:0
## Max. :0 Max. :0 Max. :3.00000 Max. :0
## anti-hispanic anti-arab anti-otherethnicity/nationalorigin
## Min. : 0.0000 Min. :0.00000 Min. : 0.0000
## 1st Qu.: 0.0000 1st Qu.:0.00000 1st Qu.: 0.0000
## Median : 0.0000 Median :0.00000 Median : 0.0000
## Mean : 0.3735 Mean :0.06619 Mean : 0.2837
## 3rd Qu.: 0.0000 3rd Qu.:0.00000 3rd Qu.: 0.0000
## Max. :17.0000 Max. :2.00000 Max. :19.0000
## anti-non-hispanic* anti-gaymale anti-gayfemale anti-gay(maleandfemale)
## Min. :0 Min. : 0.000 Min. :0.0000 Min. :0.0000
## 1st Qu.:0 1st Qu.: 0.000 1st Qu.:0.0000 1st Qu.:0.0000
## Median :0 Median : 0.000 Median :0.0000 Median :0.0000
## Mean :0 Mean : 1.499 Mean :0.2411 Mean :0.1017
## 3rd Qu.:0 3rd Qu.: 1.000 3rd Qu.:0.0000 3rd Qu.:0.0000
## Max. :0 Max. :36.000 Max. :8.0000 Max. :4.0000
## anti-heterosexual anti-bisexual anti-physicaldisability
## Min. :0.000000 Min. :0.000000 Min. :0.00000
## 1st Qu.:0.000000 1st Qu.:0.000000 1st Qu.:0.00000
## Median :0.000000 Median :0.000000 Median :0.00000
## Mean :0.002364 Mean :0.004728 Mean :0.01182
## 3rd Qu.:0.000000 3rd Qu.:0.000000 3rd Qu.:0.00000
## Max. :1.000000 Max. :1.000000 Max. :1.00000
## anti-mentaldisability totalincidents totalvictims totaloffenders
## Min. :0.000000 Min. : 1.00 Min. : 1.00 Min. : 1.00
## 1st Qu.:0.000000 1st Qu.: 1.00 1st Qu.: 1.00 1st Qu.: 1.00
## Median :0.000000 Median : 3.00 Median : 3.00 Median : 3.00
## Mean :0.009456 Mean : 10.09 Mean : 10.48 Mean : 11.77
## 3rd Qu.:0.000000 3rd Qu.: 10.00 3rd Qu.: 10.00 3rd Qu.: 11.00
## Max. :1.000000 Max. :101.00 Max. :106.00 Max. :113.00
Best to select hatecrimes with a max of nine.
newhc <- hatecrimes |>
select(county, year, 'anti-black', 'anti-white', 'anti-jewish', 'anti-catholic','anti-age*','anti-islamic(muslim)', 'anti-multi-religiousgroups', 'anti-gaymale', 'anti-hispanic', 'anti-otherethnicity/nationalorigin') |>
group_by(county, year)
head(newhc)
## # A tibble: 6 × 12
## # Groups: county, year [4]
## county year `anti-black` `anti-white` `anti-jewish` `anti-catholic`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Albany 2016 1 0 0 0
## 2 Albany 2016 2 0 0 0
## 3 Allegany 2016 1 0 0 0
## 4 Bronx 2016 0 1 0 0
## 5 Bronx 2016 0 1 1 0
## 6 Broome 2016 1 0 0 0
## # ℹ 6 more variables: `anti-age*` <dbl>, `anti-islamic(muslim)` <dbl>,
## # `anti-multi-religiousgroups` <dbl>, `anti-gaymale` <dbl>,
## # `anti-hispanic` <dbl>, `anti-otherethnicity/nationalorigin` <dbl>
dim(newhc)
## [1] 423 12
summary(newhc)
## county year anti-black anti-white
## Length:423 Min. :2010 Min. : 0.000 Min. : 0.0000
## Class :character 1st Qu.:2011 1st Qu.: 0.000 1st Qu.: 0.0000
## Mode :character Median :2013 Median : 1.000 Median : 0.0000
## Mean :2013 Mean : 1.761 Mean : 0.3357
## 3rd Qu.:2015 3rd Qu.: 2.000 3rd Qu.: 0.0000
## Max. :2016 Max. :18.000 Max. :11.0000
## anti-jewish anti-catholic anti-age* anti-islamic(muslim)
## Min. : 0.000 Min. : 0.0000 Min. :0.00000 Min. : 0.0000
## 1st Qu.: 0.000 1st Qu.: 0.0000 1st Qu.:0.00000 1st Qu.: 0.0000
## Median : 0.000 Median : 0.0000 Median :0.00000 Median : 0.0000
## Mean : 3.981 Mean : 0.2695 Mean :0.05201 Mean : 0.4704
## 3rd Qu.: 3.000 3rd Qu.: 0.0000 3rd Qu.:0.00000 3rd Qu.: 0.0000
## Max. :82.000 Max. :12.0000 Max. :9.00000 Max. :10.0000
## anti-multi-religiousgroups anti-gaymale anti-hispanic
## Min. : 0.00000 Min. : 0.000 Min. : 0.0000
## 1st Qu.: 0.00000 1st Qu.: 0.000 1st Qu.: 0.0000
## Median : 0.00000 Median : 0.000 Median : 0.0000
## Mean : 0.07565 Mean : 1.499 Mean : 0.3735
## 3rd Qu.: 0.00000 3rd Qu.: 1.000 3rd Qu.: 0.0000
## Max. :10.00000 Max. :36.000 Max. :17.0000
## anti-otherethnicity/nationalorigin
## Min. : 0.0000
## 1st Qu.: 0.0000
## Median : 0.0000
## Mean : 0.2837
## 3rd Qu.: 0.0000
## Max. :19.0000
Use pivot_longer to make datset long
hatelong <- newhc |>
pivot_longer(cols = 3:12, names_to = "victim_cat", values_to = "crimecount")
hatecrimeplot <- hatelong |>
ggplot(aes(year, crimecount, color = victim_cat)) +
geom_point() +
facet_wrap(~victim_cat)
hatecrimeplot
## Look deeper into crimes against blacks, gay males, and jews
BLack people, gay men, and jewish people seem to have the highestoffense rate
hatenew <- hatelong |>
filter( victim_cat %in% c("anti-black", "anti-jewish", "anti-gaymale"))|>
group_by(year, county) |>
arrange(desc(crimecount))
hatenew
## # A tibble: 1,269 × 4
## # Groups: year, county [277]
## county year victim_cat crimecount
## <chr> <dbl> <chr> <dbl>
## 1 Kings 2012 anti-jewish 82
## 2 Kings 2016 anti-jewish 51
## 3 Suffolk 2014 anti-jewish 48
## 4 Suffolk 2012 anti-jewish 48
## 5 Kings 2011 anti-jewish 44
## 6 Kings 2013 anti-jewish 41
## 7 Kings 2010 anti-jewish 39
## 8 Nassau 2011 anti-jewish 38
## 9 Suffolk 2013 anti-jewish 37
## 10 Nassau 2016 anti-jewish 36
## # ℹ 1,259 more rows
Use the following commands to finalize your barplot: - position = “dodge” makes side-by-side bars, rather than stacked bars - stat = “identity” allows you to plot each set of bars for each year between 2010 and 2016 - ggtitle gives the plot a title - labs gives a title to the legend
plot2 <- hatenew |>
ggplot() +
geom_bar(aes(x=year, y=crimecount, fill = victim_cat),
position = "dodge", stat = "identity") +
labs(fill = "Hate Crime Type",
y = "Number of Hate Crime Incidents",
title = "Hate Crime Type in NY Counties Between 2010-2016",
caption = "Source: NY State Division of Criminal Justice Services")
plot2
In 2012, hate crimes against jewish people spiked. Other than that,
there was a consistent upward trend.
plot3 <- hatenew |>
ggplot() +
geom_bar(aes(x=county, y=crimecount, fill = victim_cat),
position = "dodge", stat = "identity") +
labs(fill = "Hate Crime Type",
y = "Number of Hate Crime Incidents",
title = "Hate Crime Type in NY Counties Between 2010-2016",
caption = "Source: NY State Division of Criminal Justice Services")
plot3
## Too many counties
There are too many counties so let’s pick the top 5 counties with the highest ones.
counties <- hatenew |>
group_by(year, county)|>
summarize(sum = sum(crimecount)) |>
arrange(desc(sum))
## `summarise()` has grouped output by 'year'. You can override using the
## `.groups` argument.
head(counties)
## # A tibble: 6 × 3
## # Groups: year [6]
## year county sum
## <dbl> <chr> <dbl>
## 1 2012 Kings 136
## 2 2010 Kings 110
## 3 2016 Kings 101
## 4 2013 Kings 96
## 5 2014 Kings 94
## 6 2015 Kings 90
counties2 <- hatenew |>
group_by(county)|>
summarize(sum = sum(crimecount)) |>
slice_max(order_by = sum, n=5)
counties2
## # A tibble: 5 × 2
## county sum
## <chr> <dbl>
## 1 Kings 713
## 2 New York 459
## 3 Suffolk 360
## 4 Nassau 298
## 5 Queens 235
Now we have the 5 counties with the largest hatecrime counts.
plot4 <- hatenew |>
filter(county %in% c("Kings", "New York", "Suffolk", "Nassau", "Queens")) |>
ggplot() +
geom_bar(aes(x=county, y=crimecount, fill = victim_cat),
position = "dodge", stat = "identity") +
labs(y = "Number of Hate Crime Incidents",
title = "5 Counties in NY with Highest Incidents of Hate Crimes",
subtitle = "Between 2010-2016",
fill = "Hate Crime Type",
caption = "Source: NY State Division of Criminal Justice Services")
plot4
setwd("/Users/nnokigbo/Downloads")
nypop <- read_csv("newyorkpopulation.csv")
## Rows: 62 Columns: 8
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Geography
## dbl (7): 2010, 2011, 2012, 2013, 2014, 2015, 2016
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
nypop$Geography <- gsub(" , New York", "", nypop$Geography)
nypop$Geography <- gsub("County", "", nypop$Geography)
nypoplong <- nypop |>
rename(county = Geography) |>
gather("year", "population", 2:8)
nypoplong$year <- as.double(nypoplong$year)
head(nypoplong)
## # A tibble: 6 × 3
## county year population
## <chr> <dbl> <dbl>
## 1 Albany , New York 2010 304078
## 2 Allegany , New York 2010 48949
## 3 Bronx , New York 2010 1388240
## 4 Broome , New York 2010 200469
## 5 Cattaraugus , New York 2010 80249
## 6 Cayuga , New York 2010 79844
nypoplong12 <- nypoplong |>
filter(year == 2012) |>
arrange(desc(population)) |>
head(10)
nypoplong12$county<-gsub(" , New York","",nypoplong12$county)
nypoplong12
## # A tibble: 10 × 3
## county year population
## <chr> <dbl> <dbl>
## 1 Kings 2012 2572282
## 2 Queens 2012 2278024
## 3 New York 2012 1625121
## 4 Suffolk 2012 1499382
## 5 Bronx 2012 1414774
## 6 Nassau 2012 1350748
## 7 Westchester 2012 961073
## 8 Erie 2012 920792
## 9 Monroe 2012 748947
## 10 Richmond 2012 470978
4/5 of the counties with the highest population were also listed in the counties with the highest hate crime rates/
Kings 713 New York 459 Suffolk 360 Nassau 298 Queens 235
counties12 <- counties |>
filter(year == 2012) |>
arrange(desc(sum))
counties12
## # A tibble: 41 × 3
## # Groups: year [1]
## year county sum
## <dbl> <chr> <dbl>
## 1 2012 Kings 136
## 2 2012 Suffolk 83
## 3 2012 New York 71
## 4 2012 Nassau 48
## 5 2012 Queens 48
## 6 2012 Erie 28
## 7 2012 Bronx 23
## 8 2012 Richmond 18
## 9 2012 Multiple 14
## 10 2012 Westchester 13
## # ℹ 31 more rows
datajoin <- counties12 |>
full_join(nypoplong12, by=c("county", "year"))
datajoin
## # A tibble: 41 × 4
## # Groups: year [1]
## year county sum population
## <dbl> <chr> <dbl> <dbl>
## 1 2012 Kings 136 2572282
## 2 2012 Suffolk 83 1499382
## 3 2012 New York 71 1625121
## 4 2012 Nassau 48 1350748
## 5 2012 Queens 48 2278024
## 6 2012 Erie 28 920792
## 7 2012 Bronx 23 1414774
## 8 2012 Richmond 18 470978
## 9 2012 Multiple 14 NA
## 10 2012 Westchester 13 961073
## # ℹ 31 more rows
datajoinrate <- datajoin |>
mutate(rate = sum/population*100000) |>
arrange(desc(rate))
datajoinrate
## # A tibble: 41 × 5
## # Groups: year [1]
## year county sum population rate
## <dbl> <chr> <dbl> <dbl> <dbl>
## 1 2012 Suffolk 83 1499382 5.54
## 2 2012 Kings 136 2572282 5.29
## 3 2012 New York 71 1625121 4.37
## 4 2012 Richmond 18 470978 3.82
## 5 2012 Nassau 48 1350748 3.55
## 6 2012 Erie 28 920792 3.04
## 7 2012 Queens 48 2278024 2.11
## 8 2012 Bronx 23 1414774 1.63
## 9 2012 Westchester 13 961073 1.35
## 10 2012 Monroe 5 748947 0.668
## # ℹ 31 more rows
Notice that the highest rates of hate crimes in 2012 happened in:
dt <- datajoinrate[,c("county","rate")]
dt
## # A tibble: 41 × 2
## county rate
## <chr> <dbl>
## 1 Suffolk 5.54
## 2 Kings 5.29
## 3 New York 4.37
## 4 Richmond 3.82
## 5 Nassau 3.55
## 6 Erie 3.04
## 7 Queens 2.11
## 8 Bronx 1.63
## 9 Westchester 1.35
## 10 Monroe 0.668
## # ℹ 31 more rows
But the highest populated counties were: Kings (Brooklyn), Queens, New York, Suffolk (Long Island), Bronx, and Nassau. They do not correspond directly, though they are similar, to the counties with highest rates of hate crimes.
aggregategroups <- hatecrimes |>
pivot_longer(
cols = 4:44,
names_to = "victim_cat",
values_to = "crimecount"
)
unique(aggregategroups$victim_cat)
## [1] "anti-male"
## [2] "anti-female"
## [3] "anti-transgender"
## [4] "anti-genderidentityexpression"
## [5] "anti-age*"
## [6] "anti-white"
## [7] "anti-black"
## [8] "anti-americanindian/alaskannative"
## [9] "anti-asian"
## [10] "anti-nativehawaiian/pacificislander"
## [11] "anti-multi-racialgroups"
## [12] "anti-otherrace"
## [13] "anti-jewish"
## [14] "anti-catholic"
## [15] "anti-protestant"
## [16] "anti-islamic(muslim)"
## [17] "anti-multi-religiousgroups"
## [18] "anti-atheism/agnosticism"
## [19] "anti-religiouspracticegenerally"
## [20] "anti-otherreligion"
## [21] "anti-buddhist"
## [22] "anti-easternorthodox(greek,russian,etc.)"
## [23] "anti-hindu"
## [24] "anti-jehovahswitness"
## [25] "anti-mormon"
## [26] "anti-otherchristian"
## [27] "anti-sikh"
## [28] "anti-hispanic"
## [29] "anti-arab"
## [30] "anti-otherethnicity/nationalorigin"
## [31] "anti-non-hispanic*"
## [32] "anti-gaymale"
## [33] "anti-gayfemale"
## [34] "anti-gay(maleandfemale)"
## [35] "anti-heterosexual"
## [36] "anti-bisexual"
## [37] "anti-physicaldisability"
## [38] "anti-mentaldisability"
## [39] "totalincidents"
## [40] "totalvictims"
## [41] "totaloffenders"
aggregategroups <- aggregategroups |>
mutate(group = case_when(
victim_cat %in% c("anti-transgender", "anti-gayfemale", "anti-gendervictim_catendityexpression", "anti-gaymale", "anti-gay(maleandfemale", "anti-bisexual") ~ "anti-lgbtq",
victim_cat %in% c("anti-multi-racialgroups", "anti-jewish", "anti-protestant", "anti-multi-religousgroups", "anti-religiouspracticegenerally", "anti-buddhist", "anti-hindu", "anti-mormon", "anti-sikh", "anti-catholic", "anti-islamic(muslim)", "anti-atheism/agnosticism", "anti-otherreligion", "anti-easternorthodox(greek,russian,etc.)", "anti-jehovahswitness", "anti-otherchristian") ~ "anti-religion",
victim_cat %in% c("anti-asian", "anti-arab", "anti-non-hispanic", "anti-white", "anti-americanindian/alaskannative", "anti-nativehawaiian/pacificislander", "anti-otherrace", "anti-hispanic", "anti-otherethnicity/nationalorigin") ~ "anti-ethnicity",
victim_cat %in% c("anti-physicaldisability", "anti-mentaldisability") ~ "anti-disability",
victim_cat %in% c("anti-female", "anti-male") ~ "anti-gender",
TRUE ~ "others"))
aggregategroups
## # A tibble: 17,343 × 6
## county year crimetype victim_cat crimecount group
## <chr> <dbl> <chr> <chr> <dbl> <chr>
## 1 Albany 2016 Crimes Against Persons anti-male 0 anti…
## 2 Albany 2016 Crimes Against Persons anti-female 0 anti…
## 3 Albany 2016 Crimes Against Persons anti-transgender 0 anti…
## 4 Albany 2016 Crimes Against Persons anti-genderidentityexpr… 0 othe…
## 5 Albany 2016 Crimes Against Persons anti-age* 0 othe…
## 6 Albany 2016 Crimes Against Persons anti-white 0 anti…
## 7 Albany 2016 Crimes Against Persons anti-black 1 othe…
## 8 Albany 2016 Crimes Against Persons anti-americanindian/ala… 0 anti…
## 9 Albany 2016 Crimes Against Persons anti-asian 0 anti…
## 10 Albany 2016 Crimes Against Persons anti-nativehawaiian/pac… 0 anti…
## # ℹ 17,333 more rows
lgbtq <- hatecrimes |>
pivot_longer(
cols = 4:44,
names_to = "victim_cat",
values_to = "crimecount") |>
filter(victim_cat %in% c("anti-transgender", "anti-gayfemale", "anti-gendervictim_catendityexpression", "anti-gaymale", "anti-gay(maleandfemale", "anti-bisexual"))
lgbtq
## # A tibble: 1,692 × 5
## county year crimetype victim_cat crimecount
## <chr> <dbl> <chr> <chr> <dbl>
## 1 Albany 2016 Crimes Against Persons anti-transgender 0
## 2 Albany 2016 Crimes Against Persons anti-gaymale 1
## 3 Albany 2016 Crimes Against Persons anti-gayfemale 0
## 4 Albany 2016 Crimes Against Persons anti-bisexual 0
## 5 Albany 2016 Property Crimes anti-transgender 0
## 6 Albany 2016 Property Crimes anti-gaymale 0
## 7 Albany 2016 Property Crimes anti-gayfemale 0
## 8 Albany 2016 Property Crimes anti-bisexual 0
## 9 Allegany 2016 Property Crimes anti-transgender 0
## 10 Allegany 2016 Property Crimes anti-gaymale 0
## # ℹ 1,682 more rows
I wonder what the data would look like if there was a universally accepted requirement for this type of data collection.
The Bronx appears to have much lower than expected incvictim_catents of hate crimes relative to its population density in comparison to other NY counties.
In Kings County, NY (which is home to Brooklyn; according to Wikipedia, it is New York’s most populous borough and the second most densly populated county in the US) in 2012, there was a spike in hate crimes against jews.
All of these findings are corroborated in Hate Crime in New York State 2012 Annual Report: https://www.criminaljustice.ny.gov/crimnet/ojsa/hate-crime-in-nys-2012-annual-report.pdf
Write about the positive and negative aspects of this hate crimes data set. One positive aspect about the original hate crimes data set is how it lists the crime type. Although we did not need the crime type for our data analysis, it is still good to know especially if we are comparing it to the area we are observing. Another positive aspect about the original hate crimes data set is how it divides the hate crime victims into multiple different sections. This is good because everyone can be represented whether they are a minority or not. Although the diversity in the hate crimes is a positive aspect, it can also be seen as negative as there were several ‘0’ values that made the original data set difficult to view and extract important information without cleaning. Another negative aspect was the lack of range in years. I understand that kind of information can be hard to get but it would’ve been helpful if we can see how hatecrimes have increased or decreased in a span of 10 or 15 years.
List 2 different paths you would like to (hypothetically) study about this dataset. One path I would like to hypothetically study about this data set is the rate of hate crimes against a religion compared to the dominant religion in the area. Also it would be interesting to disect which hate crimes were most prevalent at a certain time and what was happening in the world at the time.
Describe 2 things you would do to follow up after seeing the output from the hatecrimes tutorial. One thing I would do to follow up after seeing the output from this hatecrimes tutorial is see if similar cities and counties have similar hate crime rates. Another follow up I would do is see if politics played a role in the rate of different hate crimes at a given time.