Skip to contents

droplinks drops links to and from or just to a region from a neighbours list. The example corresponds to Fingleton's Table 1, (1999) p. 6, for lattices 5 to 19. addlinks1 adds links from a single region to specified regions.

Usage

droplinks(nb, drop, sym=TRUE)
addlinks1(nb, from, to, sym=TRUE)

Arguments

nb

a neighbours list object of class nb

drop

either a logical vector the length of nb, or a character vector of named regions corresponding to nb's region.id attribute, or an integer vector of region numbers

sym

TRUE for removal of both "row" and "column" links, FALSE for only "row" links; when adding links, inserts links to the from region from the to regions

from

single from region for adding links, either a character vector of length 1 of the named from region corresponding to nb's region.id attribute, or an integer vector of length 1 holding a region number

to

to regions, either a character vector of named from regions corresponding to nb's region.id attribute, or an integer vector of region numbers

Value

The function returns an object of class nb with a list of integer vectors containing neighbour region number ids.

References

B. Fingleton (1999) Spurious spatial regression: some Monte Carlo results with a spatial unit root and spatial cointegration, Journal of Regional Science 39, pp. 1–19.

Author

Roger Bivand Roger.Bivand@nhh.no

See also

Examples

# \donttest{
rho <- c(0.2, 0.5, 0.95, 0.999, 1.0)
ns <- c(5, 7, 9, 11, 13, 15, 17, 19)
mns <- matrix(0, nrow=length(ns), ncol=length(rho))
rownames(mns) <- ns
colnames(mns) <- rho
mxs <- matrix(0, nrow=length(ns), ncol=length(rho))
rownames(mxs) <- ns
colnames(mxs) <- rho
for (i in 1:length(ns)) {
  nblist <- cell2nb(ns[i], ns[i])
  nbdropped <- droplinks(nblist, ((ns[i]*ns[i])+1)/2, sym=FALSE)
  listw <- nb2listw(nbdropped, style="W", zero.policy=TRUE)
  wmat <- listw2mat(listw)
  for (j in 1:length(rho)) {
    mat <- diag(ns[i]*ns[i]) - rho[j] * wmat
    res <- diag(solve(t(mat) %*% mat))
    mns[i,j] <- mean(res)
    mxs[i,j] <- max(res)
  }
}
#> Warning: some observations have no neighbours
#> Error in n.comp.nb(nb): n.comp.nb: recursive nodeid out of bounds
#> install spatialreg and igraph to avoid legacy issue
print(mns)
#>    0.2 0.5 0.95 0.999 1
#> 5    0   0    0     0 0
#> 7    0   0    0     0 0
#> 9    0   0    0     0 0
#> 11   0   0    0     0 0
#> 13   0   0    0     0 0
#> 15   0   0    0     0 0
#> 17   0   0    0     0 0
#> 19   0   0    0     0 0
print(mxs)
#>    0.2 0.5 0.95 0.999 1
#> 5    0   0    0     0 0
#> 7    0   0    0     0 0
#> 9    0   0    0     0 0
#> 11   0   0    0     0 0
#> 13   0   0    0     0 0
#> 15   0   0    0     0 0
#> 17   0   0    0     0 0
#> 19   0   0    0     0 0

# }