library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.3 v purrr 0.3.4
## v tibble 3.0.5 v dplyr 1.0.3
## v tidyr 1.1.2 v stringr 1.4.0
## v readr 1.4.0 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(tinytex)
setwd("C:/Users/Owner/Desktop/My Documents/School/DataFiles")
hatecrimes <- read_csv("hateCrimes2010.csv")
##
## -- Column specification --------------------------------------------------------
## cols(
## .default = col_double(),
## County = col_character(),
## `Crime Type` = col_character()
## )
## i Use `spec()` for the full column specifications.
spec(hatecrimes)
## cols(
## County = col_character(),
## Year = col_double(),
## `Crime Type` = col_character(),
## `Anti-Male` = col_double(),
## `Anti-Female` = col_double(),
## `Anti-Transgender` = col_double(),
## `Anti-Gender Identity Expression` = col_double(),
## `Anti-Age*` = col_double(),
## `Anti-White` = col_double(),
## `Anti-Black` = col_double(),
## `Anti-American Indian/Alaskan Native` = col_double(),
## `Anti-Asian` = col_double(),
## `Anti-Native Hawaiian/Pacific Islander` = col_double(),
## `Anti-Multi-Racial Groups` = col_double(),
## `Anti-Other Race` = col_double(),
## `Anti-Jewish` = col_double(),
## `Anti-Catholic` = col_double(),
## `Anti-Protestant` = col_double(),
## `Anti-Islamic (Muslim)` = col_double(),
## `Anti-Multi-Religious Groups` = col_double(),
## `Anti-Atheism/Agnosticism` = col_double(),
## `Anti-Religious Practice Generally` = col_double(),
## `Anti-Other Religion` = col_double(),
## `Anti-Buddhist` = col_double(),
## `Anti-Eastern Orthodox (Greek, Russian, etc.)` = col_double(),
## `Anti-Hindu` = col_double(),
## `Anti-Jehovahs Witness` = col_double(),
## `Anti-Mormon` = col_double(),
## `Anti-Other Christian` = col_double(),
## `Anti-Sikh` = col_double(),
## `Anti-Hispanic` = col_double(),
## `Anti-Arab` = col_double(),
## `Anti-Other Ethnicity/National Origin` = col_double(),
## `Anti-Non-Hispanic*` = col_double(),
## `Anti-Gay Male` = col_double(),
## `Anti-Gay Female` = col_double(),
## `Anti-Gay (Male and Female)` = col_double(),
## `Anti-Heterosexual` = col_double(),
## `Anti-Bisexual` = col_double(),
## `Anti-Physical Disability` = col_double(),
## `Anti-Mental Disability` = col_double(),
## `Total Incidents` = col_double(),
## `Total Victims` = col_double(),
## `Total Offenders` = col_double()
## )
names(hatecrimes) <- tolower(names(hatecrimes))
names(hatecrimes) <- gsub(" ","",names(hatecrimes))
str(hatecrimes)
## tibble [423 x 44] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ county : chr [1:423] "Albany" "Albany" "Allegany" "Bronx" ...
## $ year : num [1:423] 2016 2016 2016 2016 2016 ...
## $ crimetype : chr [1:423] "Crimes Against Persons" "Property Crimes" "Property Crimes" "Crimes Against Persons" ...
## $ anti-male : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-female : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-transgender : num [1:423] 0 0 0 4 0 0 0 0 0 0 ...
## $ anti-genderidentityexpression : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-age* : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-white : num [1:423] 0 0 0 1 1 0 0 0 0 0 ...
## $ anti-black : num [1:423] 1 2 1 0 0 1 0 1 0 2 ...
## $ anti-americanindian/alaskannative : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-asian : num [1:423] 0 0 0 0 0 1 0 0 0 0 ...
## $ anti-nativehawaiian/pacificislander : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-multi-racialgroups : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-otherrace : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-jewish : num [1:423] 0 0 0 0 1 0 1 0 0 0 ...
## $ anti-catholic : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-protestant : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-islamic(muslim) : num [1:423] 1 0 0 6 0 0 0 0 1 0 ...
## $ anti-multi-religiousgroups : num [1:423] 0 1 0 0 0 0 0 0 0 0 ...
## $ anti-atheism/agnosticism : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-religiouspracticegenerally : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-otherreligion : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-buddhist : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-easternorthodox(greek,russian,etc.): num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-hindu : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-jehovahswitness : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-mormon : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-otherchristian : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-sikh : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-hispanic : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-arab : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-otherethnicity/nationalorigin : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-non-hispanic* : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-gaymale : num [1:423] 1 0 0 8 0 1 0 0 0 0 ...
## $ anti-gayfemale : num [1:423] 0 0 0 1 0 0 0 0 0 0 ...
## $ anti-gay(maleandfemale) : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-heterosexual : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-bisexual : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-physicaldisability : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ anti-mentaldisability : num [1:423] 0 0 0 0 0 0 0 0 0 0 ...
## $ totalincidents : num [1:423] 3 3 1 20 2 3 1 1 1 2 ...
## $ totalvictims : num [1:423] 4 3 1 20 2 3 1 1 1 2 ...
## $ totaloffenders : num [1:423] 3 3 1 25 2 3 1 1 1 2 ...
## - attr(*, "spec")=
## .. cols(
## .. County = col_character(),
## .. Year = col_double(),
## .. `Crime Type` = col_character(),
## .. `Anti-Male` = col_double(),
## .. `Anti-Female` = col_double(),
## .. `Anti-Transgender` = col_double(),
## .. `Anti-Gender Identity Expression` = col_double(),
## .. `Anti-Age*` = col_double(),
## .. `Anti-White` = col_double(),
## .. `Anti-Black` = col_double(),
## .. `Anti-American Indian/Alaskan Native` = col_double(),
## .. `Anti-Asian` = col_double(),
## .. `Anti-Native Hawaiian/Pacific Islander` = col_double(),
## .. `Anti-Multi-Racial Groups` = col_double(),
## .. `Anti-Other Race` = col_double(),
## .. `Anti-Jewish` = col_double(),
## .. `Anti-Catholic` = col_double(),
## .. `Anti-Protestant` = col_double(),
## .. `Anti-Islamic (Muslim)` = col_double(),
## .. `Anti-Multi-Religious Groups` = col_double(),
## .. `Anti-Atheism/Agnosticism` = col_double(),
## .. `Anti-Religious Practice Generally` = col_double(),
## .. `Anti-Other Religion` = col_double(),
## .. `Anti-Buddhist` = col_double(),
## .. `Anti-Eastern Orthodox (Greek, Russian, etc.)` = col_double(),
## .. `Anti-Hindu` = col_double(),
## .. `Anti-Jehovahs Witness` = col_double(),
## .. `Anti-Mormon` = col_double(),
## .. `Anti-Other Christian` = col_double(),
## .. `Anti-Sikh` = col_double(),
## .. `Anti-Hispanic` = col_double(),
## .. `Anti-Arab` = col_double(),
## .. `Anti-Other Ethnicity/National Origin` = col_double(),
## .. `Anti-Non-Hispanic*` = col_double(),
## .. `Anti-Gay Male` = col_double(),
## .. `Anti-Gay Female` = col_double(),
## .. `Anti-Gay (Male and Female)` = col_double(),
## .. `Anti-Heterosexual` = col_double(),
## .. `Anti-Bisexual` = col_double(),
## .. `Anti-Physical Disability` = col_double(),
## .. `Anti-Mental Disability` = col_double(),
## .. `Total Incidents` = col_double(),
## .. `Total Victims` = col_double(),
## .. `Total Offenders` = col_double()
## .. )
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
hatecrimesR <- hatecrimes %>%
select(county, year, 'anti-jewish', 'anti-catholic','anti-protestant','anti-islamic(muslim)', 'anti-multi-religiousgroups', , 'anti-religiouspracticegenerally', 'anti-otherreligion', 'anti-easternorthodox(greek,russian,etc.)', 'anti-hindu', 'anti-otherchristian') %>%
group_by(county, year)
head(hatecrimesR)
## # A tibble: 6 x 12
## # Groups: county, year [4]
## county year `anti-jewish` `anti-catholic` `anti-protestan~ `anti-islamic(m~
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Albany 2016 0 0 0 1
## 2 Albany 2016 0 0 0 0
## 3 Alleg~ 2016 0 0 0 0
## 4 Bronx 2016 0 0 0 6
## 5 Bronx 2016 1 0 0 0
## 6 Broome 2016 0 0 0 0
## # ... with 6 more variables: `anti-multi-religiousgroups` <dbl>,
## # `anti-religiouspracticegenerally` <dbl>, `anti-otherreligion` <dbl>,
## # `anti-easternorthodox(greek,russian,etc.)` <dbl>, `anti-hindu` <dbl>,
## # `anti-otherchristian` <dbl>
dim(hatecrimesR)
## [1] 423 12
summary(hatecrimesR)
## county year anti-jewish anti-catholic
## 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 : 0.000 Median : 0.0000
## Mean :2013 Mean : 3.981 Mean : 0.2695
## 3rd Qu.:2015 3rd Qu.: 3.000 3rd Qu.: 0.0000
## Max. :2016 Max. :82.000 Max. :12.0000
## anti-protestant anti-islamic(muslim) anti-multi-religiousgroups
## Min. :0.00000 Min. : 0.0000 Min. : 0.00000
## 1st Qu.:0.00000 1st Qu.: 0.0000 1st Qu.: 0.00000
## Median :0.00000 Median : 0.0000 Median : 0.00000
## Mean :0.02364 Mean : 0.4704 Mean : 0.07565
## 3rd Qu.:0.00000 3rd Qu.: 0.0000 3rd Qu.: 0.00000
## Max. :1.00000 Max. :10.0000 Max. :10.00000
## anti-religiouspracticegenerally anti-otherreligion
## Min. :0.000000 Min. :0.000
## 1st Qu.:0.000000 1st Qu.:0.000
## Median :0.000000 Median :0.000
## Mean :0.007092 Mean :0.104
## 3rd Qu.:0.000000 3rd Qu.:0.000
## Max. :2.000000 Max. :4.000
## 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-otherchristian
## Min. :0.00000
## 1st Qu.:0.00000
## Median :0.00000
## Mean :0.01655
## 3rd Qu.:0.00000
## Max. :3.00000
hatecrimeslong <- hatecrimesR %>%
tidyr::gather("id", "crimecount", 3:10)
hatecrimesplot <-hatecrimeslong %>%
ggplot(., aes(year, crimecount))+
geom_point()+
aes(color = id)+
facet_wrap(~id)
hatecrimesplot
hatenew <- hatecrimeslong %>%
filter( id == "anti-catholic" | id == "anti-islamic(muslim)" | id == "anti-jewish" | id == 'anti-multi-religiousgroups')%>%
group_by(year, county) %>%
arrange(desc(crimecount))
hatenew
## # A tibble: 1,692 x 6
## # Groups: year, county [277]
## county year `anti-hindu` `anti-otherchristian` id crimecount
## <chr> <dbl> <dbl> <dbl> <chr> <dbl>
## 1 Kings 2012 0 0 anti-jewish 82
## 2 Kings 2016 1 0 anti-jewish 51
## 3 Suffolk 2014 0 0 anti-jewish 48
## 4 Suffolk 2012 0 0 anti-jewish 48
## 5 Kings 2011 0 0 anti-jewish 44
## 6 Kings 2013 0 0 anti-jewish 41
## 7 Kings 2010 0 0 anti-jewish 39
## 8 Nassau 2011 0 0 anti-jewish 38
## 9 Suffolk 2013 0 0 anti-jewish 37
## 10 Nassau 2016 0 0 anti-jewish 36
## # ... with 1,682 more rows
plot2 <- hatenew %>%
ggplot() +
geom_bar(aes(x=year, y=crimecount, fill = id),
position = "dodge", stat = "identity") +
ggtitle("Anti-Religion Hate Crime Type in NY Counties Between 2010-2016") +
ylab("Number of Hate Crime Incidents") +
xlab("Year") +
labs(fill = "Hate Crime Type")
plot2
Anti-Jewish crimes and Anti-Multi Religious incidents spiked in 2012, Anti-Catholic crimes rose sharply in 2011 and then tapered off. Anti-Islamic crimes have remained at fairly consistent levels.
plot3 <- hatenew %>%
ggplot() +
geom_bar(aes(x=county, y=crimecount, fill = id),
position = "dodge", stat = "identity") +
ggtitle("Anti-Religion Hate Crime Type in NY Counties Between 2010-2016") +
ylab("Number of Hate Crime Incidents") +
xlab("Year") +
labs(fill = "Hate Crime Type")
plot3
counties <- hatenew %>%
group_by(county, year)%>%
summarize(sum = sum(crimecount)) %>%
arrange(desc(sum))
## `summarise()` has grouped output by 'county'. You can override using the `.groups` argument.
## `summarise()` regrouping output by 'county' (override with `.groups` argument)
counties
## # A tibble: 277 x 3
## # Groups: county [60]
## county year sum
## <chr> <dbl> <dbl>
## 1 Kings 2012 127
## 2 Kings 2016 92
## 3 Kings 2014 86
## 4 Kings 2010 81
## 5 Kings 2013 72
## 6 Kings 2015 72
## 7 Kings 2011 68
## 8 Suffolk 2012 65
## 9 Suffolk 2014 53
## 10 New York 2012 52
## # ... with 267 more rows
plot4 <- hatenew %>%
filter(county =="Kings" | county =="New York" | county == "Suffolk" | county == "Nassau" | county == "Queens" | county == "Richmond" | county == "Westchester") %>%
ggplot() +
geom_bar(aes(x=county, y=crimecount, fill = id),
position = "dodge", stat = "identity") +
labs(x = "County", y = "Number of Hate Crime Incidents",
title = "7 Counties in NY with Highest Incidents of Anti-Religion Hate Crimes",
subtitle = "Between 2010-2016") +
scale_fill_discrete(name = "Hate Crime Type", labels = c("Anti-Catholic", "Anti-Islamic (Muslim)", "Anti-Jewish", "Anti-Multi Religious Groups"))
plot4
Anti-Jewish incidents far outstrip others, except in Westchester county, which is more Anti-Catholic.
setwd("C:/Users/Owner/Desktop/My Documents/School/DataFiles")
nypop <- read_csv("newyorkpopulation.csv")
##
## -- Column specification --------------------------------------------------------
## cols(
## Geography = col_character(),
## `2010` = col_double(),
## `2011` = col_double(),
## `2012` = col_double(),
## `2013` = col_double(),
## `2014` = col_double(),
## `2015` = col_double(),
## `2016` = col_double()
## )
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 x 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 x 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
counties12 <- counties %>%
filter(year == 2012) %>%
arrange(desc(sum))
counties12
## # A tibble: 41 x 3
## # Groups: county [41]
## county year sum
## <chr> <dbl> <dbl>
## 1 Kings 2012 127
## 2 Suffolk 2012 65
## 3 New York 2012 52
## 4 Queens 2012 49
## 5 Nassau 2012 46
## 6 Richmond 2012 18
## 7 Bronx 2012 13
## 8 Multiple 2012 7
## 9 Orange 2012 7
## 10 Rockland 2012 5
## # ... with 31 more rows
datajoin <- counties12 %>%
full_join(nypoplong12, by=c("county", "year"))
datajoin
## # A tibble: 41 x 4
## # Groups: county [41]
## county year sum population
## <chr> <dbl> <dbl> <dbl>
## 1 Kings 2012 127 2572282
## 2 Suffolk 2012 65 1499382
## 3 New York 2012 52 1625121
## 4 Queens 2012 49 2278024
## 5 Nassau 2012 46 1350748
## 6 Richmond 2012 18 470978
## 7 Bronx 2012 13 1414774
## 8 Multiple 2012 7 NA
## 9 Orange 2012 7 NA
## 10 Rockland 2012 5 NA
## # ... with 31 more rows
datajoinrate <- datajoin %>%
mutate(rate = sum/population*100000) %>%
arrange(desc(rate))
datajoinrate
## # A tibble: 41 x 5
## # Groups: county [41]
## county year sum population rate
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Kings 2012 127 2572282 4.94
## 2 Suffolk 2012 65 1499382 4.34
## 3 Richmond 2012 18 470978 3.82
## 4 Nassau 2012 46 1350748 3.41
## 5 New York 2012 52 1625121 3.20
## 6 Queens 2012 49 2278024 2.15
## 7 Bronx 2012 13 1414774 0.919
## 8 Monroe 2012 4 748947 0.534
## 9 Westchester 2012 5 961073 0.520
## 10 Erie 2012 1 920792 0.109
## # ... with 31 more rows
The highest rate of religous hate crimes in 2012 happened in :
dt <- datajoinrate[,c("county","rate")]
dt
## # A tibble: 41 x 2
## # Groups: county [41]
## county rate
## <chr> <dbl>
## 1 Kings 4.94
## 2 Suffolk 4.34
## 3 Richmond 3.82
## 4 Nassau 3.41
## 5 New York 3.20
## 6 Queens 2.15
## 7 Bronx 0.919
## 8 Monroe 0.534
## 9 Westchester 0.520
## 10 Erie 0.109
## # ... with 31 more rows
| County | Pop Rank | Hate Crime Rate |
|---|---|---|
| Kings | 1 | 4.94 |
| Suffolk | 4 | 4.34 |
| Richmond | 10 | 3.82 |
| Nassau | 6 | 3.41 |
| New York | 3 | 3.2 |
| Queens | 2 | 2.15 |
| Bronx | 5 | 0.91 |
| Monroe | 9 | 0.53 |
| Westchester | 7 | 0.52 |
Kings county is the most populous and has the highest religious hate crime rate, with a high number of anti-jewish incidents in 2012. Richmond county, ranked 10th in population, is 3rd for religious hate crimes per 100k people, also with a high number of anti-jewish incidents. Westchester county at 7th for population has the highest number of anti-catholic incidents, and anti-catholic incidents here outweigh anti-jewish and anti-islamic incidents.
The dataset has racial, religious and sexual orientation broken out into a number of sub-categories, with catch-all buckets. While these are not comprehensive, they do appear to focus on the most common categories. Physical disability is a single category, and I wonder if the national data would support breaking it into sub-categories, i.e. obesity, mobility, etc.
Without seeing definitions it’s not clear what the difference might be between Anti-Multi-Religious Groups, Anti-Religious Practice Generally and Anti-Other Religion. Where would Wiccan or Zaroastrian fall?
There’s a lot of empty data, of the religion categories 1/3 had no incidents reported. There’s no way of telling if this is because there were no incidents, or incidents weren’t reported. Or is it due the the population demographics or some other reason?