vgram.matrix {fields}R Documentation

Computes a variogram from an image


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


vgram.matrix(dat, R=5, nsum=1:8, collapse=TRUE, dx = 1,dy = 1 )


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.
nsum The components returned from applying the fields stats function. Default is to return all 8 statistics, n, mean, s.d. quantiles etc.
collapse If true the default just gives variogram as a function of distance between points.
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.


When collapse=F this function is designed to look for 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 (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.


If collapse=T
A list with components: d, a vector of distances for the differences, and vgram, the variogram values. This is the traditional variogram ignoring direction. If collapse=F A list with components: d, a vector of distances for the differences, ind, a two column matrix giving the x and y increment used to compute the differences, stats, the result of applying the stats function to each set of differences, and vgram, the mean of the differences

See Also



# variogram for Lennon image.
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=10, collapse=FALSE) #this takes a bit of time 

plot( out$d, out$vgram) 
plot(out$d, out$vgram.robust) 

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

[Package fields version 3.3.1 Index]