Learn R Programming

gear (version 0.1.5)

vgram: Sample semivariogram

Description

vgram calculates the sample semivariogram.

Usage

vgram(
  formula,
  data,
  coords = NULL,
  nbins = 10,
  maxd = NULL,
  angle = 0,
  ndir = 1,
  type = "standard",
  npmin = 2,
  longlat = FALSE
)

Arguments

formula

A formula describing the relationship between the response and any covariates of interest, e.g., response ~ 1. The variogram is computed for the residuals of the linear model lm(formula, data).

data

A data.frame, SpatialPointsDataFrame, SpatialPixelsDataFrame, or SpatialGridDataFrame object.

coords

A formula specifiying (on the righthand side of ~) the coordinates in data. Default is NULL, but this must be specified if data is of class data.frame. This will probably look something like "~ x + y".

nbins

The number of bins (tolerance regions) to use when estimating the sample semivariogram.

maxd

The maximum distance used when calculating the semivariogram. Default is NULL, in which case half the maximum distance between coordinates is used.

angle

A single value (in degrees) indicating the starting direction for a directional variogram. The default is 0.

ndir

The number of directions for which to calculate a sample semivariogram. The default is 1, meaning calculate an omnidirection semivariogram.

type

The name of the estimator to use in the estimation process. The default is "standard", the typical method-of-moments estimator. Other options include "cressie" for the robust Cressie-Hawkins estimator, and "cloud" for a semivariogram cloud based on the standard estimator. If "cloud" is specified, the nbins argument is ignored.

npmin

The minimum number of pairs of points to use in the semivariogram estimator. For any bins with fewer points, the estimate for that bin is dropped.

longlat

A logical indicating whether Euclidean (FALSE) or Great Circle distance (WGS84 ellipsoid) (longlat = TRUE) should be used. Default is FALSE.

Value

Returns a vgram object with components:

Details

Note that the directions may be different from other packages (e.g., gstat or geoR packages) because those packages calculate angles clockwise from the y-axis, which is a convention frequently seen in geostatistics (e.g., the GSLIB software library).

Additionally, note that calculating the sample semivariogram for the residuals of lm(response ~ 1) will produce identical results to simply computing the sample semivariogram from the original response. However, if a trend is specified (the righthand side of ~ has non-trival covariates), then the sample semivariogram of the residuals will differ from that of the original response. A trend should be specified when the mean is non-stationary over the spatial domain.

Examples

Run this code
# NOT RUN {
data(co)
v = vgram(Al ~ 1, co, ~ easting + northing)
plot(v)
v2 = vgram(Al ~ 1, co, ~ easting + northing, angle = 22.5, ndir = 4)
plot(v2)
# }

Run the code above in your browser using DataLab