Learn R Programming

GSIF (version 0.5-3)

fit.vgmModel-methods: Fits a 2D or 3D variogram model to spatial data

Description

Fits a 2D or 3D variogram model based on a regression matrix and spatial domain of interest.

Usage

"fit.vgmModel"(formulaString, rmatrix, predictionDomain, vgmFun = "Exp", dimensions = list("2D", "3D", "2D+T", "3D+T"), anis = NULL, subsample = nrow(rmatrix), ivgm, cutoff = NULL, width, cressie = FALSE, ...)

Arguments

formulaString
object of class "formula" --- regression model
rmatrix
object of class "data.frame"; regression matrix produced as a result of spatial overlay
predictionDomain
object of class "SpatialPixelsDataFrame"; spatial domain of interest
vgmFun
character; variogram function ("Exp" by default)
dimensions
character; "3D", "2D", "2D+T", "3D+T" models
anis
vector containing 2, 5 or more anisotropy parameters; see gstat::vgm for more info
subsample
integer; size of the subset
ivgm
vgm; initial variogram model
cutoff
numeric; distance up to which point pairs are included in semivariance estimates
width
numeric; sample variogram bin width
cressie
logical; specifies whether to use cressie robust estimator
...
other optional arguments that can be passed to gstat::fit.variogram

Details

It will try to fit a variogram to multidimensional data. If the data set is large, this process can be time-consuming, hence one way to speed up fitting is to subset the regression matrix using the subsample argument (i.e. randomly subset observations).

See Also

fit.regModel, fit.gstatModel, gstat::fit.variogram

Examples

Run this code
library(sp)
library(gstat)

## fit variogram to the Meuse data:
demo(meuse, echo=FALSE)
# produce a regression matrix:
ov <- over(meuse, meuse.grid)
ov <- cbind(data.frame(meuse["om"]), ov)
# fit a model:
v <- fit.vgmModel(om~1, rmatrix=ov, meuse.grid, dimensions="2D")
plot(variogram(om ~ 1, meuse[!is.na(meuse$om),]), v$vgm)

Run the code above in your browser using DataLab