# EmpiricalVariogram

From RandomFields v2.0.71
by Martin Schlather

##### Empirical (Semi-)Variogram

`EmpiricalVariogram`

calculates the empirical (semi-)variogram
of a random field realisation

- Keywords
- spatial

##### Usage

```
EmpiricalVariogram(x, y=NULL, z=NULL, T=NULL, data, grid, bin,
gridtriple=FALSE, phi, theta, deltaT)
```

##### Arguments

- x
- vector of x-coordinates, or matrix
- y
- vector of y-coordinates
- z
- vector of z-coordinates
- T
- vector of time components; here T is given in grid
format, see
GaussRF. - data
- vector or matrix of data; if
`data`

has a multiple number of components as expected by the definition of the coordinates then it is assumed that the data stem from repeated, independent measurements at the given locations; the empir - grid
- logical; if
`TRUE`

then`x`

,`y`

, and`z`

define a grid; otherwise`x`

,`y`

, and`z`

are interpreted as points - bin
- vector of ascending values giving the bin boundaries
- gridtriple
- logical. Only relevant if
`grid=TRUE`

. If`gridtriple=TRUE`

then`x`

,`y`

, and`z`

are of the form`c(start,end,step)`

; if`gridtriple=FALSE`

then`x`

, - phi
- vector of two components. First component gives the angle for the first line of midpoints of an angular variogram. The second component gives the number of directions (on the half circle). The spatial dimension must be at least 2.
- theta
- vector of two components. First component gives the angle for the first line of midpoints of an angular variogram (angle is zero for the xy-plane). The second component gives the number of directions (on the half circle). The spatial dime
- deltaT
- vector of two components.
First component gives the largest temporal distance;
the second component the grid length, that must be a multiple of
`T[3]`

.

##### Details

Comments on specific parameters:

`data`

: the number of values must match the number of points (given by`x`

,`y`

,`z`

,`grid`

, and`gridtriple`

). That is, it must equal the number of points or be a multiple of it. In case the number of data equals$n$times the number of points, the data are interpreted as$n$independent realisations for the given set of points.`(grid=FALSE)`

: the vectors`x`

,`y`

, and`z`

, are interpreted as vectors of coordinates`(grid=TRUE) && (gridtriple=FALSE)`

: the vectors \ code{x},`y`

, and`z`

are increasing sequences with identical lags for each sequence. A corresponding grid is created (as given by`expand.grid`

).`(grid=TRUE) && (gridtriple=TRUE)`

: the vectors`x`

,`y`

, and`z`

are triples of the form (start,end,step) defining a grid (as given by`expand.grid(seq(x$start,x$end,x$step), seq(y$start,y$end,y$step), seq(z$start,z$end,z$step))`

)- The bins are left open, right closed intervals, i.e.,$(b_i,b_{i+1}]$for$i=1,\ldots,$
`length(bin)`

$-1$. Hence, to include zero,`bin[1]`

must be negative.

##### Value

- The function returns a list:
centers central points of the bins emp.vario empirical variogram; vector or matrix or array, depending on the anisotropy definitions. The sequence is distances, phi, theta, Tbins. If phi, theta, or Tbins below are not given, the respective dimensions are missing. sd sd of the variogram cloud within each bin n.bin number of points within a bin phi vector of angles in xy plane theta vector of angles in the third dimensions Tbins vector of temporal distances - The first four elements are vectors of length
`(length(bin)-1)`

.

##### See Also

`RandomFields`

##### Examples

```
#############################################################
## this example checks whether a certain simulation method ##
## works well for a specified covariance model and ##
## a configuration of points ##
#############################################################
x <- seq(0, 10, 0.5)
y <- seq(0, 10, 0.5)
gridtriple <- FALSE ## see help("GaussRF")
model <- "whittle" ## whittlematern
bins <- seq(0, 5, 0.001)
realisations <- 5 ## by far too small to get reliable results!!
## It should be of order 500, but then it will
## take some time to do the simulations
param <- c(mean=1, variance=10, nugget=5, scale=2, alpha=2)
f <- GaussRF(x=x, y=y, grid=TRUE, gridtriple=gridtriple,
model=model, param=param, method="TBM3",
n=realisations)
binned <- EmpiricalVariogram(x=x, y=y, data=f, grid=TRUE,
gridtriple=gridtriple, bin=bins)
truevariogram <- Variogram(binned$c, model, param)
matplot(binned$c, cbind(truevariogram,binned$e), pch=c("*","e"))
##black curve gives the theoretical values
```

*Documentation reproduced from package RandomFields, version 2.0.71, License: GPL (>= 2)*

### Community examples

Looks like there are no examples yet.