The find_clusters() function is the main entry point for
this package, and under typical conditions, the function either returns
a message indicating that no clusters were found, or returns an object
of class “clusters”, which is a two element list containing 1) the
clusters found and 2) information about the locations in each of those
clusters. However, callers can pass return_interim=True to
obtain the interim or intermediate objects that are estimated under the
hood when find_clusters() is called.
find_clusters()find_clusters() is a wrapper function around a number of
other package functions, and it calls the below functions, in order.
When the user passes interim_results=TRUE the outputs of
each of these functions are stored separately within an expanded output
list.
| Function | Output | |
|---|---|---|
generate_case_grids() : this function take the case
counts and the detect date (see ?generate_case_grids for
more options) and separates out the counts by baseline and test date
interval, and estimates cumulative sums of cases by location. |
An object of class CaseGrids, which is a
list of items: | - baseline_counts_by_location: a dataframe of counts by
location during the baseline interval | | - case_grid: a frame of cases
during the test period, with reverse cumulative counts within location,
by date | | - case_grid_totals_by_date: a frame of the reverse
cumulative sum of counts over all locations, by date | | - test_cases: a
frame of cases during the test period, by and location | | -
detect_date: the detect date passed to this function | | -
baseline_total: the total number of cases over all locations and dates
| |
|
gen_nearby_case_info() : This function takes an object
of class CaseGrids distance matrix, and a distance
threshold, and estimates, for each location, the estimated cumulative
sum of cases in nearby locations. Two frames for these estimates are
provided: one for test period and one for baseline |
An object of class
|
|
generate_observed_expected(): This function takes
objects of classes NearbyClusterGrids and
CaseGrids and derives the observed and expected calculation
for all target locations |
An object of class ObservedExpectedGrid , which is a
frame that contains the observed and expected value for all target
locations. |
|
add_spline_threshold(): this function ingests an object
of class ObservedExpectedGrid and used either an internal
or user provided spline lookup table to filter the
ObservedExpectedGrid by those that meet the spline
classification threshold |
An object of class ClusterAlertTable which is a
dataframe of all target candidate clusters that are reduced to those
meeting the spline threshold |
|
compress_clusters_fast(): This function is a faster
version of the deprecated (but accessible
compress_clusters(). Both this function and the deprecated
version take the ClusterAlertTable from the previous step
and find only the most significant, non-overlapping clusters from the
large table of candidates |
An object of class
|
|
add_location_counts(): this function ingests an object
of type clusters and obtains location counts and sums for
all locations within the clusters |
Returns an object of type clusters which has a similar
structure as above, but adds total number of locations to the first item
(i.e. the table of identified clusters) and converts the second item
from a list to a data frame that contains the sums for all locations
within the clusters. |
|
See help via ?<function> for further details on
each of these above functions, including optional and required
parameters and examples of how to use them.
Note: we set return_interim to TRUE
result <- find_clusters(
cases = example_count_data,
distance_matrix = county_distance_matrix("OH")[["distance_matrix"]],
detect_date = example_count_data[, max(date)],
distance_limit = 50,
return_interim = TRUE
)
# objects included in the output
for (n in names(result)) {
cat(
"Name: ",
n,
"\nClass: ",
paste(class(result[[n]]), collapse = " "),
"\n\n",
sep = ""
)
}
#> Name: case_grid_info
#> Class: list CaseGrids
#>
#> Name: nearby_case_info
#> Class: list NearbyClusterGrids
#>
#> Name: obs_expected_frame
#> Class: data.table data.frame ObservedExpectedGrid
#>
#> Name: obs_expected_frame_with_spline
#> Class: data.table data.frame ClusterAlertTable
#>
#> Name: compressed_clusters
#> Class: list clusters
#>
#> Name: result
#> Class: list clusters