R: Computes a variogram from an image

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.

### See Also

`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)
    # add in different orientations
    points( out$d.full, out$vgram.full, col="red")

    #image plot of variogram values for different directions.
    set.panel(1,1)
    plot.vgram.matrix( out)
    # John Lennon appears remarkably isotropic!

[Package fields version 9.6.1 Index]