Calculates the sample variogram from spatio-temporal data.

```
variogramST(formula, locations, data, ..., tlags = 0:15, cutoff,
width = cutoff/15, boundaries = seq(0, cutoff, width),
progress = interactive(), pseudo = TRUE, assumeRegular=FALSE, na.omit=FALSE)
```

formula

formula, specifying the dependent variable.

locations

A STFDF or STSDF containing the variable; kept for
compatibility reasons with variogram, either `locations`

or `data`

must be provided.

...

any other arguments that will be passed to the underlying
`variogram`

function. In case of using data of type `'>STIDF`

, the argument `tunit`

is recommended (and only used in the case of STIDF) to set the temporal unit of the `tlags`

. Additionally, `twindow`

can be passed to control the temporal window used for temporal distance calculations. This builds on the property of xts being ordered and only the next `twindow`

instances are considered. This avoids the need of huge temporal distance matrices. The default uses twice the number as the average difference goes into the temporal cutoff.

tlags

integer; time lags to consider or in case `data`

is of class `'>STIDF`

the actual temporal boundaries with time unit given by `tunit`

otherwise the same unit as `diff`

on the index of the time slot will generate is assumed.

cutoff

spatial separation distance up to which point pairs are included in semivariance estimates; as a default, the length of the diagonal of the box spanning the data is divided by three.

width

the width of subsequent distance intervals into which
data point pairs are grouped for semivariance estimates, by default the
`cutoff`

is divided into 15 equal lags.

boundaries

numerical vector with distance interval upper boundaries; values should be strictly increasing

progress

logical; if TRUE, show text progress bar

pseudo

integer; use pseudo cross variogram for computing time-lagged spatial variograms? -1: find out from coordinates -- if they are equal then yes, else no; 0: no; 1: yes.

assumeRegular

logical; whether the time series should be assumed regular. The first time step is assumed to be representative for the whole series. Note, that temporal lags are considered by index, and no check is made whether pairs actually have the desired separating distance.

na.omit

shall all `NA`

values in the spatio-temporal variogram be dropped? In case where complete rows or columns in the variogram consists of `NA`

only, `plot`

might produce a distorted picture.

The spatio-temporal sample variogram contains besides the fields
`np`

, `dist`

and `gamma`

the spatio-temporal fields,
`timelag`

, `spacelag`

and `avgDist`

, the first of which indicates the time lag
used, the second and third different spatial lags. `spacelag`

is the midpoint in the spatial
lag intervals as passed by the parameter `boundaries`

, whereas `avgDist`

is the average
distance between the point pairs found in a distance interval over all temporal lags (i.e. the
averages of the values `dist`

per temporal lag.) To compute variograms for space lag $h$ and
time lag $t$, the pseudo cross variogram $(Z_i(s)-Z_i+t(s+h))^2$ is averaged over all time
lagged observation sets $Z_i$ and $Z_i+t$ available (weighted by the number of pairs involved).

Cressie, N.A.C., 1993, Statistics for Spatial Data, Wiley.

Cressie, N., C. Wikle, 2011, Statistics for Spatio-temporal Data, Wiley.

Pebesma, E.J., 2004. Multivariable geostatistics in S: the gstat package. Computers \& Geosciences, 30: 683-691.

`plot.StVariogram`

,
for variogram models: `vgmST`

,
to fit a spatio-temporal variogram model to a spatio-temporal sample variogram:
`fit.StVariogram`

```
# NOT RUN {
# The following spatio-temporal variogram has been calcualted through
# vv = variogram(PM10~1, r5to10, width=20, cutoff = 200, tlags=0:5)
# in the vignette "st".
data(vv)
str(vv)
plot(vv)
# }
```

Run the code above in your browser using DataCamp Workspace