Skip to contents

NYPD Hate Crimes

Usage

morie_datasets_nyc_nypd_hate_crimes(
  year = NULL,
  max_features = NULL,
  offline = TRUE,
  resource_id = NULL,
  paginate = FALSE,
  page_size = 1000L,
  max_pages = 200L,
  mode = c("soda2", "soda3"),
  app_token = NULL
)

Arguments

year

Optional year filter (server-side SoQL).

max_features

Optional row cap. When paginate = TRUE this is the total cap across walked pages.

offline

If TRUE (default), read the included fixture.

resource_id

Optional Socrata resource id override.

paginate

Logical; if TRUE and offline = FALSE, walk SODA2 $offset in page_size chunks until exhausted or max_features is reached. Default FALSE (single 1,000-row request, matching the historical pre-3OO behaviour).

page_size

Per-page row count when paginating (default 1,000, the unauthenticated SODA2 ceiling).

max_pages

Safety net on paginated walks (default 200 -> up to 200,000 rows without an app_token).

mode

One of "soda2" (default JSON resource endpoint) or "soda3" (SoQL query endpoint). 3AAA dual-mode dispatch.

app_token

Optional Socrata API app token for higher rate limits; passed as the X-App-Token header.

Value

A data.frame.

Examples

df <- morie_datasets_nyc_nypd_hate_crimes(offline = TRUE)
head(df[, c("complaint_year_number", "bias_motive_description",
            "offense_category")])
#>   complaint_year_number bias_motive_description offense_category
#> 1                  2022             ANTI-LGBTQ+          ASSAULT
#> 2                  2023              ANTI-BLACK       HARASSMENT
#> 3                  2024             ANTI-JEWISH         MISCHIEF
#> 4                  2024              ANTI-ASIAN          ASSAULT
#> 5                  2025             ANTI-MUSLIM       HARASSMENT