## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  warning = FALSE,
  message = FALSE
)

has_chicago_api <- interactive() && curl::has_internet()

## ----setup--------------------------------------------------------------------
knitr::opts_chunk$set(warning = FALSE, message = FALSE)
library(chiOpenData)
library(ggplot2)
library(dplyr)

## ----chi-list-datasets, eval=has_chicago_api----------------------------------
# chi_list_datasets() |> head()

## ----chi-311-pull, eval=has_chicago_api---------------------------------------
# chi_motor_vehicle_collisions_data <- chi_pull_dataset(
#   dataset = "ijzp-q8t2", limit = 2, timeout_sec = 90)
# 
# chi_motor_vehicle_collisions_data <- chi_pull_dataset(
#   dataset = "crimes_2001_to_present", limit = 2, timeout_sec = 90)

## ----filter-location, eval=has_chicago_api------------------------------------
# 
# chicago_crimes_street <- chi_pull_dataset(dataset = "ijzp-q8t2",limit = 3, timeout_sec = 90, filters = list(location_description = "STREET"))
# chicago_crimes_street
# 
# # Checking to see the filtering worked
# chicago_crimes_street |>
#   distinct(location_description)

## ----filter-chi-crimes, eval=has_chicago_api----------------------------------
# # Creating the dataset
# chicago_crimes <- chi_pull_dataset(dataset = "ijzp-q8t2", limit = 50, timeout_sec = 90, filters = list(location_description = "STREET", domestic = FALSE))
# 
# # Calling head of our new dataset
# chicago_crimes |>
#   slice_head(n = 6)
# 
# # Quick check to make sure our filtering worked
# chicago_crimes |>
#   summarize(rows = n())
# 
# chicago_crimes |>
#   distinct(location_description)
# 
# chicago_crimes |>
#   distinct(domestic)

## ----compaint-type-graph, eval=has_chicago_api, fig.alt="Bar chart showing the frequency of crime types happening on the street that are not domestic.", fig.cap="Bar chart showing the frequency of crime types happening on the street that are not domestic.", fig.height=5, fig.width=7----
# # Visualizing the distribution, ordered by frequency
# chicago_crimes |>
#   count(primary_type) |>
#   ggplot(aes(
#     x = n,
#     y = reorder(primary_type, n)
#   )) +
#   geom_col(fill = "steelblue") +
#   theme_minimal() +
#   labs(
#     title = "Top 50 Crime Types on the Street That Are Not Domestic",
#     x = "Number of Crimes",
#     y = "Primary Crime Type"
#   )

