R: Higher order neighbours lists

nblag {spdep} | R Documentation

## Higher order neighbours lists

### Description

The function creates higher order neighbour lists, where higher order neighbours are only `lags` links from each other on the graph described by the input neighbours list. It will refuse to lag neighbours lists with the attribute self.included set to TRUE. `nblag_cumul` cumulates neighbour lists to a single neighbour list (“nb” object).

### Usage

    nblag(neighbours, maxlag)
    nblag_cumul(nblags)

### Arguments

`neighbours` | input neighbours list of class `nb`
`maxlag` | the maximum lag to be constructed
`nblags` | a list of neighbour lists as output by `nblag`

### Value

returns a list of lagged neighbours lists each with class `nb`

### Author(s)

Roger Bivand Roger.Bivand@nhh.no and Giovanni Millo

### See Also

`summary.nb`

### Examples

    columbus <- st_read(system.file("shapes/columbus.shp", package="spData")[1], quiet=TRUE)
    col.gal.nb <- read.gal(system.file("weights/columbus.gal", package="spData")[1])
    coords <- coordinates(as(columbus, "Spatial"))
    summary(col.gal.nb, coords)
    col.lags <- nblag(col.gal.nb, 2)
    print(col.lags)
    summary(col.lags[[2]], coords)
    plot(st_geometry(columbus), border="grey")
    plot(col.gal.nb, coords, add=TRUE)
    title(main="GAL order 1 (black) and 2 (red) links")
    plot(col.lags[[2]], coords, add=TRUE, col="red", lty=2)
    cuml <- nblag_cumul(col.lags)
    cuml
    run <- FALSE
    if (require(igraph, quietly=TRUE) && require(spatialreg, quietly=TRUE)) run <- TRUE
    if (run) {
    W <- as(nb2listw(col.gal.nb), "CsparseMatrix")
    G <- graph.adjacency(W, mode="directed", weight="W")
    D <- diameter(G)
    nbs <- nblag(col.gal.nb, maxlag=D)
    n <- length(col.gal.nb)
    lmat <- lapply(nbs, nb2mat, style="B", zero.policy=TRUE)
    mat <- matrix(0, n, n)
    for (i in seq(along=lmat)) mat = mat + i*lmat[[i]]
    G2 <- shortest.paths(G)
    print(all.equal(G2, mat, check.attributes=FALSE))
    }

[Package spdep version 1.2-2 Index]