| net.autocorr.att {stream.net} | R Documentation |
Create a network autocorrelated attribute for stream segments.
net.autocorr.att (net, dist, target=0.5, lag=1,
outscaling=TRUE, min=0, max=1, eps=1e-6,
vector=TRUE, name=NULL)
net |
A net.object. |
dist |
an upstream/downstream distance matrix from
net.dist, probably using ends=0.5,
and possibly using method="segment". |
target |
goal for autocorrelation. |
lag |
separation distance (in method units)
at which to produce autocorrelation effect. |
outscaling |
if TRUE, scale return values to
[min, max]. |
min |
minimum value for scaling output values. |
max |
maximum value for scaling output values. |
eps |
precision of calculating lag distance. |
vector |
if TRUE, return a vector else a field
in $segs. |
name |
name of the attribute to be added
(if ! vector)). |
Uses total distances, ignoring upstream/downstream. The algorithm for calculating autocorrelation, from the reference below, is
r(x) = sum(2 * z[i] * z[j])/sum(z[i]^2 + z[j]^2)
for all segment pairs i,j at lag x. Values
are in [-1, 1].
If vector is TRUE, then a vector of the attribute
values in segment order, else a net.object
with the attribute added to $segs.
Denis White, white.denis@epa.gov
Henley S. 1975. Autocorrelation coefficients from irregularly spaced areal data. Computers and Geosciences 2(4):437-438.
# Q model random net
net <- net.qmodel (5)
net <- net.addsegs (net)
dmat <- net.dist (net, ends=0.5, method="segment")
# make autocorrelated attributes
att.autoc <- net.autocorr.att (net, dist=dmat, vector=TRUE,
outscaling=TRUE) * 10
# check autocorrelation
net.autocorr.onelag (net, dist=dmat, segatt=att.autoc)