## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", echo = FALSE, # hide code message = FALSE, # hide messages warning = FALSE, # hide warnings fig.width = 12, fig.height = 7, out.width = "100%" ) ## ----------------------------------------------------------------------------- library(gsClusterDetect) suppressWarnings(suppressMessages(library(data.table))) data("example_count_data", package = "gsClusterDetect") data("spline_01", package = "gsClusterDetect") data("counties", package = "gsClusterDetect") ## ----echo = TRUE-------------------------------------------------------------- # use the built in example_count_data cases <- data.table::as.data.table(example_count_data) head(cases) ## ----echo=TRUE---------------------------------------------------------------- detect_date <- max(cases$date) # get the test dates, given a detect date and test_length get_test_dates(detect_date, test_length = 7) # get the baseline dates, given a detect date, test and baseline length get_baseline_dates( detect_date, test_length = 7, baseline_length = 90, guard = 0 ) |> head() ## ----echo=TRUE---------------------------------------------------------------- zip_dm <- zip_distance_matrix("DC") dim(zip_dm$distance_matrix) county_dm <- county_distance_matrix("RI", source = "tigris") dim(county_dm$distance_matrix) ## ----eval = FALSE, echo=TRUE-------------------------------------------------- # us_dm <- us_distance_matrix() ## ----echo=TRUE---------------------------------------------------------------- county_list <- create_dist_list( level = "county", st = "RI", threshold = 25 ) length(county_list) head(county_list[[1]]) ## ----echo=TRUE---------------------------------------------------------------- locs <- unique(cases$location) dm <- outer(seq_along(locs), seq_along(locs), function(i, j) abs(i - j) * 5) dimnames(dm) <- list(locs, locs) ## ----echo = TRUE-------------------------------------------------------------- clusters <- find_clusters( cases = cases, distance_matrix = dm, detect_date = detect_date, spline_lookup = "01", baseline_length = 90, max_test_window_days = 7, distance_limit = 15, baseline_adjustment = "add_test", ) ## ----plotting clusters, echo = TRUE------------------------------------------- library(gsClusterDetect) library(tigris) options(tigris_use_cache = TRUE) # Use example count data to find clusters d <- example_count_data dd <- d[, max(date)] dm <- create_dist_list("county", st = "OH", threshold = 50, ) cl <- find_clusters(d, dm, dd) # Get tigris based shape file oh <- tigris::counties("OH", cb = TRUE, class = "sf") # Pass these to the map_clusters() function map_clusters(cl = cl, s = oh, s_id = "GEOID") ## ----echo=TRUE---------------------------------------------------------------- summary_tbl <- generate_summary_table( data = cases, end_date = detect_date, baseline_length = 90, test_length = 7 ) summary_tbl ## ----echo=TRUE---------------------------------------------------------------- heatmap_data <- generate_heatmap_data( data = cases, end_date = detect_date, baseline_length = 90, test_length = 7 ) p_heat <- generate_heatmap(heatmap_data, plot_type = "plotly") class(p_heat) p_heat ## ----echo = TRUE-------------------------------------------------------------- ts_data <- generate_time_series_data( data = cases, end_date = detect_date, baseline_length = 90, test_length = 7 ) p_ts <- generate_time_series_plot(ts_data, plot_type = "plotly") class(p_ts) p_ts