RMuser: User-Defined Function

Description Usage Arguments Details Value Note See Also Examples

View source: R/RMmodelsSpecial.R

Description

RMuser allows for a user-defined covariance function, variogram model, or arbitrary function.

RMuser is very slow – users should avoid this model whenever possible.

Usage

1
2
3
RMuser(type, domain, isotropy, vdim, beta,
       coordnames = c("x", "y", "z", "T"), fctn, fst, snd, envir,  
       var, scale, Aniso, proj)

Arguments

type

See RMmodelgenerator for the range of values of the arguments.

Default: "shape function".

domain

See RMmodelgenerator for the range of values of the arguments.

Default: XONLY.

isotropy

See RMmodelgenerator for the range of values of the arguments.

Default:

  • 'isotropic' if type equals 'tail correlation function', 'positive definite' or 'negative definite';

  • 'cartesian system' if type indicates a process or simulation method or a shape function.

vdim

multivariability.

Default: vdim is identified from beta if given; otherwise the default value is 1.

beta

a fixed matrix that is multiplied to the return value of the given function; the dimension must match. Defining a vector valued function and beta as a vector, an arbitrary linear model can be defined. Estimation of beta is, however, not established yet.

coordnames

Just the names of the variables. More variable names might be given here than used in the function. See Details for the interpretation of variables.

fctn, fst, snd

a user-defined function and its first, second and third derivative, given as quote(myfunction(x)) or as quote(myfunction(x, y)), see Details and Examples below.

envir

the environment where the given function shall be evaluated

var,scale,Aniso,proj

optional arguments; same meaning for any RMmodel. If not passed, the above covariance function remains unmodified.

Details

Primarily, a function is expected that depends on a vector whose components, x, y, z, T, are given separately as scalar quantities.

Alternatively, the function might depend only on the first argument given by coordnames.

A kernel should depend on the first two arguments given by coordnames.

Value

RMuser returns an object of class RMmodel.

Note

See Also

RMcovariate, RMfixcov, RFfit, RMmodelgenerator, RMmodel, RFsimulate, RC_ISO_NAMES, RC_DOMAIN_NAMES.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set
##                   RFoptions(seed=NA) to make them all random again

## Alternatively to 'model <- RMexp()' one may define the following
## (which is, however, much slower and cannot use all features of
## RandomFields)

## user-defined exponential covariance model
model <- RMuser(type="positive definite", domain="single variable",
                iso="isotropic", fctn=exp(-x))
x <- y <- seq(1, 10, len=100)
plot(model)
z <- RFsimulate(model, x=x, y=y)
plot(z)

## the kernel, which is the scalar product (see RMprod)
model <- RMnugget(var=1e-5) +
         RMuser(type="positive definite", domain="kernel",
                iso="symmetric", fctn=sum(x * y))
x <- y <- seq(1, 10, len=35)
z <- RFsimulate(model, x=x, y=y, n=6, svdtol=1e-9) 
plot(z)

RandomFields documentation built on Jan. 19, 2022, 1:06 a.m.