autocov_dist {spdep} | R Documentation

## Distance-weighted autocovariate

### Description

Calculates the autocovariate to be used in autonormal, autopoisson or autologistic regression. Three distance-weighting schemes are available.

### Usage

    autocov_dist(z, xy, nbs = 1, type = "inverse", zero.policy = FALSE,
     style = "W", longlat=NULL)

### Arguments

`z` | the response variable
`xy` | a matrix of coordinates or a SpatialPoints object
`nbs` | neighbourhood radius; default is 1
`type` | the weighting scheme: "one" gives equal weight to all data points in the neighbourhood; "inverse" (the default) weights by inverse distance; "inverse.squared" weights by the square of "inverse"
`zero.policy` | If FALSE stop with error for any empty neighbour sets, if TRUE permit the weights list to be formed with zero-length weights vectors
`style` | style' can take values W, B, C, U, and S; W gives mean values for neighbours
`longlat` | TRUE if point coordinates are longitude-latitude decimal, in which case distances are measured in kilometers; if xy is a SpatialPoints object, the value is taken from the object itself

### Value

A numeric vector of autocovariate values

### Author(s)

Carsten F. Dormann and Roger Bivand

### References

Augustin N.H., Mugglestone M.A. and Buckland S.T. (1996) An autologistic model for the spatial distribution of wildlife. Journal of Applied Ecology, 33, 339-347; Gumpertz M.L., Graham J.M. and Ristaino J.B. (1997) Autologistic model of spatial pattern of Phytophthora epidemic in bell pepper: effects of soil variables on disease presence. Journal of Agricultural, Biological and Environmental Statistics, 2, 131-156.

### See Also

`nb2listw`

### Examples

    example(columbus)
    xy <- cbind(columbus$X, columbus$Y)
    ac1a <- autocov_dist(columbus$CRIME, xy, nbs=10, style="W",
     type="one")
    acinva <- autocov_dist(columbus$CRIME, xy, nbs=10, style="W",
     type="inverse")
    acinv2a <- autocov_dist(columbus$CRIME, xy, nbs=10, style="W",
     type="inverse.squared")

    plot(ac1a ~ columbus$CRIME, pch=16, asp=1)
    points(acinva ~ columbus$CRIME, pch=16, col="red")
    points(acinv2a ~ columbus$CRIME, pch=16, col="blue")
    abline(0,1)

    nb <- dnearneigh(xy, 0, 10)
    lw <- nb2listw(nb, style="W")
    ac1b <- lag(lw, columbus$CRIME)
    all.equal(ac1b, ac1a)

    nbd <- nbdists(nb, xy)
    gl <- lapply(nbd, function(x) 1/x)
    lw <- nb2listw(nb, glist=gl)
    acinvb <- lag(lw, columbus$CRIME)
    all.equal(acinvb, acinva)

    gl2 <- lapply(nbd, function(x) 1/(x^2))
    lw <- nb2listw(nb, glist=gl2)
    acinv2b <- lag(lw, columbus$CRIME)
    all.equal(acinv2b, acinv2a)

    glm(CRIME ~ HOVAL + ac1b, data=columbus, family="gaussian")
    spautolm(columbus$CRIME ~ HOVAL, data=columbus,
     listw=nb2listw(nb, style="W"))

    xy <- SpatialPoints(xy)
    acinva <- autocov_dist(columbus$CRIME, xy, nbs=10, style="W",
     type="inverse")
    nb <- dnearneigh(xy, 0, 10)
    nbd <- nbdists(nb, xy)
    gl <- lapply(nbd, function(x) 1/x)
    lw <- nb2listw(nb, glist=gl)
    acinvb <- lag(lw, columbus$CRIME)
    all.equal(acinvb, acinva)

[Package spdep version 0.4-56 Index]