nblag: Higher order neighbours lists

Description Usage Arguments Value Author(s) See Also Examples

View source: R/nblag.R

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

1
2
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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
example(columbus)
coords <- coordinates(columbus)
summary(col.gal.nb, coords)
plot(columbus, border="grey")
plot(col.gal.nb, coords, add=TRUE)
title(main="GAL order 1 (black) and 2 (red) links")
col.lags <- nblag(col.gal.nb, 2)
lapply(col.lags, print)
summary(col.lags[[2]], coords)
plot(col.lags[[2]], coords, add=TRUE, col="red", lty=2)
cuml <- nblag_cumul(col.lags)
cuml
if (require(igraph)) {
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))


}

Example output

Loading required package: sp
Loading required package: Matrix

colmbs> require(maptools)
Loading required package: maptools
Checking rgeos availability: TRUE

colmbs> columbus <- readShapePoly(system.file("etc/shapes/columbus.shp",
colmbs+  package="spdep")[1])

colmbs> col.gal.nb <- read.gal(system.file("etc/weights/columbus.gal",
colmbs+  package="spdep")[1])
Warning message:
use rgdal::readOGR or sf::st_read 
Neighbour list object:
Number of regions: 49 
Number of nonzero links: 230 
Percentage nonzero weights: 9.579342 
Average number of links: 4.693878 
Link number distribution:

 2  3  4  5  6  7  8  9 10 
 7  7 13  4  9  6  1  1  1 
7 least connected regions:
1 6 31 39 42 46 47 with 2 links
1 most connected region:
20 with 10 links
Summary of link distances:
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.1276  0.3613  0.4566  0.4694  0.5536  0.8924 

  The decimal point is 1 digit(s) to the left of the |

  1 | 3344
  1 | 99
  2 | 000011333344
  2 | 556677779999
  3 | 000011222222223344444444
  3 | 556666777777888888889999999999
  4 | 00001111112233333333334444
  4 | 55666666666666777777777788888899
  5 | 0011112222222222222233334444
  5 | 556666667788
  6 | 000000112244
  6 | 5577889999
  7 | 11112244
  7 | 557777
  8 | 1144
  8 | 55999999

Neighbour list object:
Number of regions: 49 
Number of nonzero links: 230 
Percentage nonzero weights: 9.579342 
Average number of links: 4.693878 
Neighbour list object:
Number of regions: 49 
Number of nonzero links: 406 
Percentage nonzero weights: 16.90962 
Average number of links: 8.285714 
[[1]]
Neighbour list object:
Number of regions: 49 
Number of nonzero links: 230 
Percentage nonzero weights: 9.579342 
Average number of links: 4.693878 

[[2]]
Neighbour list object:
Number of regions: 49 
Number of nonzero links: 406 
Percentage nonzero weights: 16.90962 
Average number of links: 8.285714 

Neighbour list object:
Number of regions: 49 
Number of nonzero links: 406 
Percentage nonzero weights: 16.90962 
Average number of links: 8.285714 
Link number distribution:

 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 
 1  2  5  4  2  3  5  4  2  3  7  3  4  1  1  1  1 
1 least connected region:
36 with 1 link
1 most connected region:
25 with 17 links
Summary of link distances:
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.3209  0.7126  0.8481  0.9023  1.0860  1.6743 

  The decimal point is 1 digit(s) to the left of the |

   3 | 2233557799
   4 | 1166777788888888
   5 | 0011224455555566666688889999
   6 | 11113333334455556666666666889999999999
   7 | 00000011112222222233334444444455555555556666667777777777777777889999
   8 | 000011111111222222222233333344444444445555555555666666999999
   9 | 001111222222222233444444555555556666667777778899
  10 | 0000002222223333333344666666777788889999
  11 | 00112233334444555566777788
  12 | 1122223333555566667777888888889999
  13 | 0000001166668899
  14 | 002244558888
  15 | 00667788
  16 | 77

Neighbour list object:
Number of regions: 49 
Number of nonzero links: 636 
Percentage nonzero weights: 26.48896 
Average number of links: 12.97959 
Loading required package: igraph

Attaching package: 'igraph'

The following objects are masked from 'package:stats':

    decompose, spectrum

The following object is masked from 'package:base':

    union

[1] TRUE

spdep documentation built on Aug. 19, 2017, 3:01 a.m.