if(!require(tidyverse))install.packages("tidyverse")
library(tidyverse)

mydata <- read.csv("https://drkblake.com/wp-content/uploads/2024/02/CrimeData.csv")
#head(mydata, 20)

SigByCounty <- mydata
SigByCounty <- group_by(SigByCounty, Description, Agency)
SigByCounty <- summarize(SigByCounty, Count = n())
SigByCounty <- pivot_wider(SigByCounty,
                           names_from = Agency,
                           values_from = Count)
head(SigByCounty, 20)
## # A tibble: 14 × 3
## # Groups:   Description [14]
##    Description        `Murfreesboro Police` `Clarksville Police`
##    <chr>                              <int>                <int>
##  1 Arson                                  1                   NA
##  2 Assault                              199                   29
##  3 Child Abuse                            6                   NA
##  4 DUI                                   33                    8
##  5 Disorderly Conduct                    24                   13
##  6 Drugs                                126                   30
##  7 Fraud                                 66                   11
##  8 Rape                                   2                   NA
##  9 Robbery/Burglary                      29                   12
## 10 Sex crime                             11                   NA
## 11 Stalking                               6                   NA
## 12 Theft                                206                   25
## 13 Vandalism                             44                    8
## 14 Weapon violation                      13                    8