read.gwt2nb {spdep} | R Documentation

## Read and write spatial neighbour files

### Description

The "gwt" functions read and write GeoDa GWT files (the example file baltk4.GWT was downloaded from the site given in the reference), and the "dat" functions read and write Matlab sparse matrix files as used by James LeSage's Spatial Econometrics Toolbox (the example file wmat.dat was downloaded from the site given in the reference).

### Usage

    read.gwt2nb(file, region.id=NULL)
    write.sn2gwt(sn, file, shpfile=NULL, ind=NULL)
    read.dat2listw(file)
    write.sn2dat(sn, file)

### Arguments

`file` | name of file with weights data
`region.id` | region IDs
`sn` | a `spatial.neighbour` object
`shpfile` | Shapefile name taken from GWT file for this dataset
`ind` | region id indicator variable name

### Details

Now attempts to honour the region.id argument given when reading GWT files.

### Value

`read.gwt2nb` returns a neighbour "nb" object with the generalised weights stored as a list element called "dlist" of the "GeoDa" attribute.

### Author(s)

Roger Bivand Roger.Bivand@nhh.no

### References

Luc Anselin (2003) GeoDa 0.9 User's Guide, pp. 80–81, Spatial Analysis Laboratory, Department of Agricultural and Consumer Economics, University of Illinois, Urbana-Champaign, http://agec221.agecon.uiuc.edu/csiss/pdf/geoda093.pdf; also http://spatial-econometrics.com/data/contents.html

### See Also

`read.gal`

### Examples

    data(baltimore)
    STATION <- baltimore$STATION
    gwt1 <- read.gwt2nb(system.file("etc/weights/baltk4.GWT", package="spdep")[1],
     STATION)
    cat(paste("Neighbours list symmetry;", is.symmetric.nb(gwt1, FALSE, TRUE),
     "\n"))
    listw1 <- nb2listw(gwt1, style="B", glist=attr(gwt1, "GeoDa")$dist)
    tmpGWT <- tempfile()
    write.sn2gwt(listw2sn(listw1), tmpGWT)
    gwt2 <- read.gwt2nb(tmpGWT, STATION)
    cat(paste("Neighbours list symmetry;", is.symmetric.nb(gwt2, FALSE, TRUE),
     "\n"))
    data(oldcol)
    diffnb(gwt1, gwt2)
    tmpMAT <- tempfile()
    COL.W <- nb2listw(COL.nb)
    write.sn2dat(listw2sn(COL.W), tmpMAT)
    listwmat1 <- read.dat2listw(tmpMAT)
    diffnb(listwmat1$neighbours, COL.nb, verbose=TRUE)
    listwmat2 <- read.dat2listw(system.file("etc/weights/wmat.dat",
     package="spdep")[1])
    diffnb(listwmat1$neighbours, listwmat2$neighbours, verbose=TRUE)

[Package spdep version 0.3-25 Index]