Interpolation methods
The function allows for different methods of interpolation. Currently, only various kinds of kriging are installed.
RFinterpolate(model, x, y = NULL, z = NULL, T = NULL, grid=NULL, distances, dim, data, given=NULL, params, err.model, err.params, ignore.trend = FALSE, ...)
model,params |
object of class |
x |
vector of x coordinates, or object of class |
y,z |
optional vectors of y (z) coordinates, which should not be given if |
T |
optional vector of time coordinates, |
grid |
logical; the function finds itself the correct value in nearly all cases, so that usually |
distances,dim |
another alternative for the argument |
data |
matrix, data.frame or object of class If the argument
|
given |
optional, matrix or list. If |
err.model,err.params |
For conditional simulation and random imputing
only. |
ignore.trend |
logical. If |
... |
for advanced use: further options and control arguments for the simulation that are passed to and processed by |
In case of repeated data, they are kriged
separately; if the argument x
is missing,
data
may contain NA
s, which are then replaced by
the kriged values (imputing);
In case of intrinsic cokriging (intrinsic kriging for multivariate random fields) the pseudo-cross-variogram is used (cf. Ver Hoef and Cressie, 1991).
The value depends on the additional argument variance.return
,
see RFoptions
.
If variance.return=FALSE
(default), Kriging
returns a
vector or matrix of kriged values corresponding to the
specification of x
, y
, z
, and
grid
, and data
.
data
: a vector or matrix with one column
* grid=FALSE
. A vector of simulated values is
returned (independent of the dimension of the random field)
* grid=TRUE
. An array of the dimension of the
random field is returned (according to the specification
of x
, y
, and z
).
data
: a matrix with at least two columns
* grid=FALSE
. A matrix with the ncol(data)
columns
is returned.
* grid=TRUE
. An array of dimension
d+1, where d is the dimension of
the random field, is returned (according to the specification
of x
, y
, and z
). The last
dimension contains the realisations.
If variance.return=TRUE
, a list of two elements, estim
and
var
, i.e. the kriged field and the kriging variances,
is returned. The format of estim
is the same as described
above. The format of var
is accordingly.
Important options are
method
(overwriting the automatically detected variant
of kriging)
return_variance
(returning also the kriging variance)
locmaxm
(maximum number of conditional values before
neighbourhood kriging is performed)
fillall
imputing estimates location by default
varnames
and coordnames
in case
data.frame
s are used to tell which column contains the data
and the coordinates, respectively.
Martin Schlather, schlather@math.uni-mannheim.de, https://www.wim.uni-mannheim.de/schlather/; Alexander Malinowski; Marco Oesting, marco.oesting@mathematik.uni-stuttgart.de, https://www.isa.uni-stuttgart.de/institut/team/Oesting/
Chiles, J.-P. and Delfiner, P. (1999) Geostatistics. Modeling Spatial Uncertainty. New York: Wiley.
Cressie, N.A.C. (1993) Statistics for Spatial Data. New York: Wiley.
Goovaerts, P. (1997) Geostatistics for Natural Resources Evaluation. New York: Oxford University Press.
Ver Hoef, J.M. and Cressie, N.A.C. (1993) Multivariate Spatial Prediction. Mathematical Geology 25(2), 219-240.
Wackernagel, H. (1998) Multivariate Geostatistics. Berlin: Springer, 2nd edition.
RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set ## RFoptions(seed=NA) to make them all random again ## Preparation of graphics dev.new(height=7, width=16) ## creating random variables first ## here, a grid is chosen, but does not matter p <- 3:8 points <- as.matrix(expand.grid(p,p)) model <- RMexp() + RMtrend(mean=1) dta <- RFsimulate(model, x=points) plot(dta) x <- seq(0, 9, 0.25) ## Simple kriging with the exponential covariance model model <- RMexp() z <- RFinterpolate(model, x=x, y=x, data=dta) plot(z, dta) ## Simple kriging with mean=4 and scaled covariance model <- RMexp(scale=2) + RMtrend(mean=4) z <- RFinterpolate(model, x=x, y=x, data=dta) plot(z, dta) ## Ordinary kriging model <- RMexp() + RMtrend(mean=NA) z <- RFinterpolate(model, x=x, y=x, data=dta) plot(z, dta) ## Co-Kriging n <- 100 x <- runif(n=n, min=1, max=50) y <- runif(n=n, min=1, max=50) rho <- matrix(nc=2, c(1, -0.8, -0.8, 1)) model <- RMparswmX(nudiag=c(0.5, 0.5), rho=rho) ## generation of artifical data data <- RFsimulate(model = model, x=x, y=y, grid=FALSE) ## introducing some NAs ... print(data) len <- length(data) data@data$variable1[1:(len / 10)] <- NA data@data$variable2[len - (0:len / 100)] <- NA print(data) plot(data) ## co-kriging x <- y <- seq(0, 50, 1) k <- RFinterpolate(model, x=x, y=y, data= data) plot(k, data) ## conditional simulation z <- RFsimulate(model, x=x, y=y, data= data) ## takes some time plot(z, data) close.screen(all = TRUE)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.