Description Usage Arguments Value Note Author(s) See Also Examples

Checks a neighbours list for symmetry/transitivity (if i is a neighbour of j,
then j is a neighbour of i). This holds for distance and contiguity based
neighbours, but not for k-nearest neighbours. The helper function
`sym.attr.nb()`

calls `is.symmetric.nb()`

to set the `sym`

attribute if needed, and `make.sym.nb`

makes a non-symmetric list symmetric by adding neighbors. `is.symmetric.glist`

checks a list of general weights corresponding to neighbours for symmetry for symmetric neighbours.

1 2 3 4 5 | ```
is.symmetric.nb(nb, verbose = NULL, force = FALSE)
sym.attr.nb(nb)
make.sym.nb(nb)
old.make.sym.nb(nb)
is.symmetric.glist(nb, glist)
``` |

`nb` |
an object of class |

`verbose` |
default NULL, use global option value; if TRUE prints non-matching pairs |

`force` |
do not respect a neighbours list |

`glist` |
list of general weights corresponding to neighbours |

TRUE if symmetric, FALSE if not; is.symmetric.glist returns a value with an attribute, "d", indicating for failed symmetry the largest failing value.

A new version of `make.sym.nb`

by Bjarke Christensen is now included. The older version has been renamed `old.make.sym.nb`

, and their comparison constitutes a nice demonstration of vectorising speedup using `sapply`

and `lapply`

rather than loops. When any no-neighbour observations are present, `old.make.sym.nb`

is used.

Roger Bivand [email protected]

1 2 3 4 5 6 7 8 9 10 11 | ```
if (require(rgdal, quietly=TRUE)) {
example(columbus, package="spData")
coords <- coordinates(columbus)
ind <- sapply(slot(columbus, "polygons"), function(x) slot(x, "ID"))
print(is.symmetric.nb(col.gal.nb, verbose=TRUE, force=TRUE))
k4 <- knn2nb(knearneigh(coords, k=4), row.names=ind)
k4 <- sym.attr.nb(k4)
print(is.symmetric.nb(k4))
k4.sym <- make.sym.nb(k4)
print(is.symmetric.nb(k4.sym))
}
``` |

spdep documentation built on April 4, 2018, 1:03 a.m.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.