vgram.matrix {fields} R Documentation

## Computes a variogram from an image

### Description

Computes a variogram for an image taking into account different directions and returning summary information about the differences in each of these directions.

### Usage

```vgram.matrix(dat, R=5, dx = 1,dy = 1 )

## S3 method for class 'vgram.matrix'
plot(x,...)
```

### Arguments

 `dat` A matrix spacing of rows and columns are assumed to have the same distance. `R` Maximum radius for finding variogram differences assuming that the grid points are spaced one unit a part. Default is go out to a radius of 5. `dx` The spacing of grid points on the X axis. This is used to calculate the correct distance between grid points. If dx is not equal to dy then the collapse argument must be FALSE. `dy` The spacing of grid points on the Y axis. See additional notes for dx. `x` Returned list from vgram.matrix `...` Arguments for image.plot

### Details

For the "full" case the statistics can summarize departures from isotropy by separating the variogram differences according to orientation. For small R this runs efficiently because the differences are found by sub-setting the image matrix.

For example, suppose that a row of the ind matrix is (2,3). The variogram value associated with this row is the mean of the differences (1/2)*(X(i,j)- X( i+2,j+3))**2 for all i and j. (Here X(.,.) are the values for the spatial field.) In this example d= sqrt(13) and there will be another entry with the same distance but corresponding to the direction (3,2). plot.vgram.matrix attempts to organize all the different directions into a coherent image plot.

### Value

An object of class vgram.matrix with the following components: d, a vector of distances for the differences, and vgram, the variogram values. This is the traditional variogram ignoring direction.

d.full, a vector of distances for all possible shifts up distance R, ind, a two column matrix giving the x and y increment used to compute the shifts, and vgram.full, the variogram at each of these separations. Also computed is vgram.robust, Cressie's version of a robust variogram statistic.

Also returned is the component N the number of differences found for each separation csae.

`vgram`

### Examples

```# variogram for Lennon image.
data(lennon)
out<-vgram.matrix( lennon)

plot( out\$d, out\$vgram, xlab="separation distance", ylab="variogram")
# image plot of vgram values by direction.

# look at different directions
out<-vgram.matrix( lennon, R=8)

plot( out\$d, out\$vgram)