Dataset

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ 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
#tinytex::install_tinytex()
#library(tinytex)
setwd("C:/Users/Danny/Downloads")
hatecrimes <- read.csv("hateCrimes2010.csv")

Clearing lowercases and spaces

names(hatecrimes) <- tolower(names(hatecrimes))
names(hatecrimes) <- gsub("\\.","-",names(hatecrimes))
head(hatecrimes)
##     county year             crime-type anti-male anti-female anti-transgender
## 1   Albany 2016 Crimes Against Persons         0           0                0
## 2   Albany 2016        Property Crimes         0           0                0
## 3 Allegany 2016        Property Crimes         0           0                0
## 4    Bronx 2016 Crimes Against Persons         0           0                4
## 5    Bronx 2016        Property Crimes         0           0                0
## 6   Broome 2016 Crimes Against Persons         0           0                0
##   anti-gender-identity-expression anti-age- anti-white anti-black
## 1                               0         0          0          1
## 2                               0         0          0          2
## 3                               0         0          0          1
## 4                               0         0          1          0
## 5                               0         0          1          0
## 6                               0         0          0          1
##   anti-american-indian-alaskan-native anti-asian
## 1                                   0          0
## 2                                   0          0
## 3                                   0          0
## 4                                   0          0
## 5                                   0          0
## 6                                   0          1
##   anti-native-hawaiian-pacific-islander anti-multi-racial-groups
## 1                                     0                        0
## 2                                     0                        0
## 3                                     0                        0
## 4                                     0                        0
## 5                                     0                        0
## 6                                     0                        0
##   anti-other-race anti-jewish anti-catholic anti-protestant
## 1               0           0             0               0
## 2               0           0             0               0
## 3               0           0             0               0
## 4               0           0             0               0
## 5               0           1             0               0
## 6               0           0             0               0
##   anti-islamic--muslim- anti-multi-religious-groups anti-atheism-agnosticism
## 1                     1                           0                        0
## 2                     0                           1                        0
## 3                     0                           0                        0
## 4                     6                           0                        0
## 5                     0                           0                        0
## 6                     0                           0                        0
##   anti-religious-practice-generally anti-other-religion anti-buddhist
## 1                                 0                   0             0
## 2                                 0                   0             0
## 3                                 0                   0             0
## 4                                 0                   0             0
## 5                                 0                   0             0
## 6                                 0                   0             0
##   anti-eastern-orthodox--greek--russian--etc-- anti-hindu anti-jehovahs-witness
## 1                                            0          0                     0
## 2                                            0          0                     0
## 3                                            0          0                     0
## 4                                            0          0                     0
## 5                                            0          0                     0
## 6                                            0          0                     0
##   anti-mormon anti-other-christian anti-sikh anti-hispanic anti-arab
## 1           0                    0         0             0         0
## 2           0                    0         0             0         0
## 3           0                    0         0             0         0
## 4           0                    0         0             0         0
## 5           0                    0         0             0         0
## 6           0                    0         0             0         0
##   anti-other-ethnicity-national-origin anti-non-hispanic- anti-gay-male
## 1                                    0                  0             1
## 2                                    0                  0             0
## 3                                    0                  0             0
## 4                                    0                  0             8
## 5                                    0                  0             0
## 6                                    0                  0             1
##   anti-gay-female anti-gay--male-and-female- anti-heterosexual anti-bisexual
## 1               0                          0                 0             0
## 2               0                          0                 0             0
## 3               0                          0                 0             0
## 4               1                          0                 0             0
## 5               0                          0                 0             0
## 6               0                          0                 0             0
##   anti-physical-disability anti-mental-disability total-incidents total-victims
## 1                        0                      0               3             4
## 2                        0                      0               3             3
## 3                        0                      0               1             1
## 4                        0                      0              20            20
## 5                        0                      0               2             2
## 6                        0                      0               3             3
##   total-offenders
## 1               3
## 2               3
## 3               1
## 4              25
## 5               2
## 6               3

Numeric summary of variables in hatecrimes

summary(hatecrimes)
##     county               year       crime-type          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-gender-identity-expression
##  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-american-indian-alaskan-native   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-native-hawaiian-pacific-islander anti-multi-racial-groups anti-other-race
##  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-religious-groups 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-religious-practice-generally anti-other-religion 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-eastern-orthodox--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-jehovahs-witness  anti-mormon anti-other-christian   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-other-ethnicity-national-origin
##  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-gay-male    anti-gay-female 
##  Min.   :0          Min.   : 0.000   Min.   :0.0000  
##  1st Qu.:0          1st Qu.: 0.000   1st Qu.:0.0000  
##  Median :0          Median : 0.000   Median :0.0000  
##  Mean   :0          Mean   : 1.499   Mean   :0.2411  
##  3rd Qu.:0          3rd Qu.: 1.000   3rd Qu.:0.0000  
##  Max.   :0          Max.   :36.000   Max.   :8.0000  
##  anti-gay--male-and-female- anti-heterosexual  anti-bisexual     
##  Min.   :0.0000             Min.   :0.000000   Min.   :0.000000  
##  1st Qu.:0.0000             1st Qu.:0.000000   1st Qu.:0.000000  
##  Median :0.0000             Median :0.000000   Median :0.000000  
##  Mean   :0.1017             Mean   :0.002364   Mean   :0.004728  
##  3rd Qu.:0.0000             3rd Qu.:0.000000   3rd Qu.:0.000000  
##  Max.   :4.0000             Max.   :1.000000   Max.   :1.000000  
##  anti-physical-disability anti-mental-disability total-incidents 
##  Min.   :0.00000          Min.   :0.000000       Min.   :  1.00  
##  1st Qu.:0.00000          1st Qu.:0.000000       1st Qu.:  1.00  
##  Median :0.00000          Median :0.000000       Median :  3.00  
##  Mean   :0.01182          Mean   :0.009456       Mean   : 10.09  
##  3rd Qu.:0.00000          3rd Qu.:0.000000       3rd Qu.: 10.00  
##  Max.   :1.00000          Max.   :1.000000       Max.   :101.00  
##  total-victims    total-offenders 
##  Min.   :  1.00   Min.   :  1.00  
##  1st Qu.:  1.00   1st Qu.:  1.00  
##  Median :  3.00   Median :  3.00  
##  Mean   : 10.48   Mean   : 11.77  
##  3rd Qu.: 10.00   3rd Qu.: 11.00  
##  Max.   :106.00   Max.   :113.00

If we were to look at certain criteria (in this example any variable that had over 9 or more hate crime types)

hatecrimes2 <- hatecrimes |>
  select(county, year, 'anti-black', 'anti-white', 'anti-jewish', 'anti-catholic','anti-age-','anti-islamic--muslim-', `anti-multi-religious-groups`, 'anti-gay-male', 'anti-hispanic', `anti-other-ethnicity-national-origin`) |>
group_by(county, year)
head(hatecrimes2)
## # A tibble: 6 × 12
## # Groups:   county, year [4]
##   county    year `anti-black` `anti-white` `anti-jewish` `anti-catholic`
##   <chr>    <int>        <int>        <int>         <int>           <int>
## 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-` <int>, `anti-islamic--muslim-` <int>,
## #   `anti-multi-religious-groups` <int>, `anti-gay-male` <int>,
## #   `anti-hispanic` <int>, `anti-other-ethnicity-national-origin` <int>

How many rows and columns ther are (ie. dimensions)

dim(hatecrimes2)
## [1] 423  12

There is 12 variables with 423 rows

summary(hatecrimes2)
##     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-religious-groups anti-gay-male    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-other-ethnicity-national-origin
##  Min.   : 0.0000                     
##  1st Qu.: 0.0000                     
##  Median : 0.0000                     
##  Mean   : 0.2837                     
##  3rd Qu.: 0.0000                     
##  Max.   :19.0000

Combing the columns. using pivot_longer it will combine each column from the 9 above to one column under victim_cat taking it from wide format to long format

hatelong <- hatecrimes2 |>
  pivot_longer(cols = 3:12, names_to = "victim_cat", values_to = "crimecount")
hatelong
## # A tibble: 4,230 × 4
## # Groups:   county, year [277]
##    county  year victim_cat                           crimecount
##    <chr>  <int> <chr>                                     <int>
##  1 Albany  2016 anti-black                                    1
##  2 Albany  2016 anti-white                                    0
##  3 Albany  2016 anti-jewish                                   0
##  4 Albany  2016 anti-catholic                                 0
##  5 Albany  2016 anti-age-                                     0
##  6 Albany  2016 anti-islamic--muslim-                         1
##  7 Albany  2016 anti-multi-religious-groups                   0
##  8 Albany  2016 anti-gay-male                                 1
##  9 Albany  2016 anti-hispanic                                 0
## 10 Albany  2016 anti-other-ethnicity-national-origin          0
## # ℹ 4,220 more rows

Now we create a face plot using long format

hatecrimeplot <- hatelong |>
  ggplot(aes(year, crimecount)) +
  geom_point()+
  aes(color = victim_cat)+
  facet_wrap(~victim_cat)
hatecrimeplot

The facet_wrap function showed us which of the caterogies seems to have the highest rates. fill out the top three.

hatenew <- hatelong |>
  filter( victim_cat %in% c("anti-black", "anti-jewish", "anti-gay-male"))|>
  group_by(year, county) |>
  arrange(desc(crimecount))
hatenew
## # A tibble: 1,269 × 4
## # Groups:   year, county [277]
##    county   year victim_cat  crimecount
##    <chr>   <int> <chr>            <int>
##  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

Time to plot these three hatecrimes together using a bar graph. using position=“dodge” makes these side by side bars, rather than stacked bars. stat=“identity” allows us to plot set of bars for each year from 2010-2016

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

What countries are the most effected

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

Lets look at the top 5 counties with the most number of incidents. The bar graph above does not do a good job of it because there is too many counties.

counties <- hatenew |>
  group_by(year, county)|>
  summarise(sum = sum(crimecount)) |>
  arrange(desc(sum))
## `summarise()` has grouped output by 'year'. You can override using the
## `.groups` argument.
counties
## # A tibble: 277 × 3
## # Groups:   year [7]
##     year county     sum
##    <int> <chr>    <int>
##  1  2012 Kings      136
##  2  2010 Kings      110
##  3  2016 Kings      101
##  4  2013 Kings       96
##  5  2014 Kings       94
##  6  2015 Kings       90
##  7  2011 Kings       86
##  8  2016 New York    86
##  9  2012 Suffolk     83
## 10  2013 New York    75
## # ℹ 267 more rows

This gives us the highest total per year but what about the time period. Using the group_by tool but dropping year and only leaving county in, then using the slice_max(order_by = sum, n=5) the n5 is important as it lists the 5 counties with the highest incidents.

counties2 <- hatenew |>
  group_by(county) |>
  summarise(sum = sum(crimecount)) |>
  slice_max(order_by = sum, n=5)
counties2
## # A tibble: 5 × 2
##   county     sum
##   <chr>    <int>
## 1 Kings      713
## 2 New York   459
## 3 Suffolk    360
## 4 Nassau     298
## 5 Queens     235

Another bar graph with filter command

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(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")
plot4

Importing data from New York Population from 2010-2016

setwd("C:/Users/Danny/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.

Time to remove the lowercase letter and underscores, plus changing the variable Geography to County

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

To focus in on one year 2012 for population by using filter

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

Still focusing on 2012 we now add the hate crime by using filter

counties12 <- counties |>
  filter(year == 2012) |>
  arrange(desc(sum))
counties12
## # A tibble: 41 × 3
## # Groups:   year [1]
##     year county        sum
##    <int> <chr>       <int>
##  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

Tieing it all together we now combine the 2012 NY population data with the hate crimes data. we do this by using the datajoin command.

datajoin <- counties12 |>
  full_join(nypoplong12, by=c("county", "year"))
datajoin
## # A tibble: 41 × 4
## # Groups:   year [1]
##     year county        sum population
##    <dbl> <chr>       <int>      <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

Lets calculate the rate of indicents per 100k residents. we use the mutate command and divide the total/sum by the population and then multiply it by 100000

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>       <int>      <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

Now lets the make it in descending order

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

Group some of the catergories

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-gender-identity-expression"             
##  [5] "anti-age-"                                   
##  [6] "anti-white"                                  
##  [7] "anti-black"                                  
##  [8] "anti-american-indian-alaskan-native"         
##  [9] "anti-asian"                                  
## [10] "anti-native-hawaiian-pacific-islander"       
## [11] "anti-multi-racial-groups"                    
## [12] "anti-other-race"                             
## [13] "anti-jewish"                                 
## [14] "anti-catholic"                               
## [15] "anti-protestant"                             
## [16] "anti-islamic--muslim-"                       
## [17] "anti-multi-religious-groups"                 
## [18] "anti-atheism-agnosticism"                    
## [19] "anti-religious-practice-generally"           
## [20] "anti-other-religion"                         
## [21] "anti-buddhist"                               
## [22] "anti-eastern-orthodox--greek--russian--etc--"
## [23] "anti-hindu"                                  
## [24] "anti-jehovahs-witness"                       
## [25] "anti-mormon"                                 
## [26] "anti-other-christian"                        
## [27] "anti-sikh"                                   
## [28] "anti-hispanic"                               
## [29] "anti-arab"                                   
## [30] "anti-other-ethnicity-national-origin"        
## [31] "anti-non-hispanic-"                          
## [32] "anti-gay-male"                               
## [33] "anti-gay-female"                             
## [34] "anti-gay--male-and-female-"                  
## [35] "anti-heterosexual"                           
## [36] "anti-bisexual"                               
## [37] "anti-physical-disability"                    
## [38] "anti-mental-disability"                      
## [39] "total-incidents"                             
## [40] "total-victims"                               
## [41] "total-offenders"

Essay

I think this dataset was very interest. Both where it took place and how it was conduced. With that said the highlights of this dataset were just how many different demographics it covered. It went over race, religions, sexual orientation, disability, etc. Also for how long the data was collected for. It covered a 6 year period so we can different trends over time. Plus doing it statewide we could see which areas are the most affected by hate crimes in the state of New York. One of the downsides of this data was no age groups. We don’t know which age demographics are being effect for each demographic. Also why stop at 6 years it’s pretty odd. They could have stopped at 5 or have gone to 10 years it’s a weirdly specific time to stop. Plus if they are doing the state of New York and it’s counties it should have which cities commit the most hate crimes.

Something I think i would like to study would be by comparing the hate crime rate in each county and the regular crime rate of each county to see if there is any trends where high hate crime rate equals high crime rate and or vice versa. Other comparisons could done too with this data like how many hate crimes does the state of New York have compared to other states are they above or below the national average. Also I would like to study what in this dataset is biased or under reported or misclassified in terms of hate crimes. Something like social media is a influence in this as information can spread faster than ever so for example is something like hating the color green a trend on social media or is it because it hurts people’s eyes.

I would want to follow up with the victims of these hate crimes. I’m curious to see what there opinion is on the city or the state or the US or even there own personal lives as a whole after these hate crimes were committed what has changed from before and after. I would also like to follow up with the perpetrators to see what motivated them to commit these crimes and what there perspective on what happened. Plus following up with state of New York to see how the state define a hate crime it is speech or does it have to cause physical harm, etc. I think this is important because going back to misclassifcation there could be cases that don’t fit the state critetia that might have spilled through for a number of reasons. A general consensus for what is a hate crime would be needed.