Learn R Programming

surveillance (version 1.20.3)

nbOrder: Determine Neighbourhood Order Matrix from Binary Adjacency Matrix

Description

Given a square binary adjacency matrix, the function nbOrder determines the integer matrix of neighbourhood orders (shortest-path distance) using the function nblag from the spdep package.

Usage

nbOrder(neighbourhood, maxlag = 1)

Value

An integer matrix of neighbourhood orders, i.e., the shortest-path distance matrix of the vertices. The dimnames of the input neighbourhood matrix are preserved.

Arguments

neighbourhood

a square, numeric or logical, and usually symmetric matrix with finite entries (and usually zeros on the diagonal) which indicates vertex adjacencies, i.e., first-order neighbourhood (interpreted as neighbourhood == 1, not >0).

maxlag

positive scalar integer specifying an upper bound for the neighbourhood order. The default (1) just returns the input neighbourhood matrix (converted to binary integer mode). maxlag is automatically trimmed to one less than the number of regions (there cannot be higher orders) and then converted to integer, thus, maxlag = Inf also works.

Author

Sebastian Meyer

See Also

nblag from the spdep package, on which this wrapper depends.

Examples

Run this code
## generate adjacency matrix
set.seed(1)
n <- 6
adjmat <- matrix(0, n, n)
adjmat[lower.tri(adjmat)] <- sample(0:1, n*(n-1)/2, replace=TRUE)
adjmat <- adjmat + t(adjmat)
adjmat

## determine neighbourhood order matrix
if (requireNamespace("spdep")) {
    nbmat <- nbOrder(adjmat, maxlag=Inf)
    nbmat
}

Run the code above in your browser using DataLab