Identify contiguous sets of units and numbers each set. Can be extended to repeat the procedure within a subgeography.

```
check_contiguity(adj, group)
cct(adj, group)
ccm(adj, group)
```

- adj
adjacency list

- group
array of group identifiers. Typically district numbers or county names. Defaults to 1 if no input is provided, checking that the adjacency list itself is one connected component.

tibble with contiguity indicators. Each row is the units of `adj`

. Columns include

`group`

Values of the inputted`group`

argument. If`group`

is not specified, then all values will be 1.`component`

A number for each contiguous set of units within a`group`

. If all units within a`group`

are contiguous, all values are 1. If there are two sets, each discontiguous with the other, the larger one will be numbered 1 and the smaller one will be numbered as 2.

Given a zero-indexed adjacency list and an array of group identifiers, this
returns a tibble which identifies the connected components. The three columns
are `group`

for the inputted group, `group_number`

which uniquely identifies each
group as a positive integer, and `component`

which identifies the connected
component number for each corresponding entry of adjacency and group. If everything
is connected within the group, then each element of `component`

will be `1`

.
Otherwise, the largest component is given the value `1`

, the next largest `2`

,
and so on.

If nothing is provided to group, it will default to a vector of ones, checking if the adjacency graph is connected.

`cct()`

is shorthand for creating a table of the component values. If everything
is connected within each group, it returns a value of 1. In general, it returns
a frequency table of components.

`ccm()`

is shorthand for getting the maximum component value. It returns the
maximum number of components that a group is broken into.
This returns 1 if each group is connected. #'

```
data(checkerboard)
adj <- adjacency(checkerboard)
#> Warning: Planarizing skipped. `x` missing CRS.
# These each indicate the graph is connected.
check_contiguity(adj) # all contiguous
#> # A tibble: 64 × 3
#> group group_number component
#> <int> <int> <int>
#> 1 1 1 1
#> 2 1 1 1
#> 3 1 1 1
#> 4 1 1 1
#> 5 1 1 1
#> 6 1 1 1
#> 7 1 1 1
#> 8 1 1 1
#> 9 1 1 1
#> 10 1 1 1
#> # ℹ 54 more rows
# If there are two discontiguous groups, there will be 2 values of `component`
cct(adj)
#>
#> 1
#> 64
ccm(adj)
#> [1] 1
```