makew: Calculation of spatial weight matrices

Description Usage Arguments Details Value See Also Examples

View source: R/makew.R

Description

Constructs a spatial weight matrix from a shape file or a matrix of geographic coordinates

Usage

1
2
makew(shpfile=NULL,coormat=NULL,method="queen",knum=10,
  ringdist=.25,kern="tcub",window=.10,eigenvalues=FALSE)

Arguments

shpfile

A shape file.

coormat

A matrix of geographic coordinates. The first column should be the longitude and the second latitude, in degrees.

method

Options using shape files to identify first-order contiguity are "queen" and "rook". Options requiring a matrix of geographic coordinates are "knear", "ring", and "kernel". The coordinate matrix can be inputted directly with the coormat option, or it can be calculated directly from the shape file. The shape file takes precedence if both shapefile and coormat are specified.

knum

The number of nearest neighbors for the knear option. Default: knum = 10

ringdist

The maximum distance for the ring option. Default: ringdist = .25

kern

The kernel function for the kernel option. Options include "rect", "tria", "epan", "bisq", "tcub" and "trwt".

window

Window size for the kernel option. Default: window = .25

eigenvalues

If TRUE, calculates eigenvalues. Default: eigenvalues=FALSE.

Details

If method=rook or method=queen, an nxn contiguity matrix is defined using the spdep package. A queen definition of contiguity means that two tracts are defined as contiguous if they share at least one point. A better definition of rook might be "non-queen": two tracts are defined as contiguous if they share two or more points. The rook and queen options require a shape file. The contiguity matrix is row-normalized to form the weight matrix.

If method=knear, the k nearest neighbors are each given a weight of 1/k to form W. The calculations are made using the spdep package. Either a shape file or a matrix of geographic coordinates can be provided to the knear option.

If method=ring, each observation within a distance of ringdist from observation i is given equal weight in row i. More distant observations receive a weight of zero.

If method=kernel, a kernel weight function is used to define W, with the window size determined by the window option. The kernel weight function is defined by the kern option. The weights are W_{ij} = K(d_{ij}/h)/h for d_{ij}<h and W_{ij} = 0 for i = j and d_{ij}>h. The matrix is then row-normalized.

Eigenvalues are returned if the eigenvalues=T is specified.

Value

wmat

The nxn spatial weight matrix. The matrix is row-normalized.

eigvar

The eigvenvalues of wmat. Calculated if eigenvalues=TRUE.

See Also

sarml

qregspiv

Examples

1
2
3
4
5
6
7
cmap <- readShapePoly(system.file("maps/CookCensusTracts.shp",
  package="McSpatial"))
cmap <- cmap[cmap$POPULATION>0&cmap$AREA>0,]
cmap <- cmap[cmap$CHICAGO==1&cmap$CAREA!="O'Hare",]
lmat <- coordinates(cmap)
fit <- makew(shpfile=cmap,method="queen")
# fit <- makew(coormat=lmat,method="ring",ringdist=1)

McSpatial documentation built on May 2, 2019, 9:32 a.m.