RandomFields: Simulation and Analysis of Random Fields


The package RandomFields offers various tools for

  1. model estimation (ML) and inference (tests) for regionalized variables and data analysis,

  2. simulation of different kinds of random fields, including

    • multivariate, spatial, spatio-temporal, and non-stationary Gaussian random fields,

    • Poisson fields, binary fields, Chi2 fields, t fields and

    • max-stable fields.

    It can also deal with non-stationarity and anisotropy of these processes and conditional simulation (for Gaussian random fields, currently).

See http://ms.math.uni-mannheim.de/de/publications/software/ for intermediate updates.


The following features are provided by the package:

  1. Bayesian Modelling

    • See Bayesian Modelling for an introduction to hierarchical modelling

  2. Coordinate systems

    • Cartesian, earth and spherical coordinates are recognized, see coordinate systems for details.

    • a list of valid models is given by spherical models.

  3. Data and example studies: Some data sets and published code are provided to illustrate the syntax and structure of the package functions.

    • soil : soil physical data

    • weather : UWME weather data

    • papers : code used in the papers published by the author(s)

  4. Estimation of parameters (for second-order random fields)

    • RFfit : general function for estimating parameters; (for Gaussian random fields)

    • RFhurst : estimation of the Hurst parameter

    • RFfractaldim : estimation of the fractal dimension

    • RFempiricalvariogram : calculates the empirical variogram

  5. Graphics

    • Fitting a covariance function manually RFgui

    • the generic function plot

    • global graphical parameters with RFpar

  6. Inference (for Gaussian random fields)

    • RFcrossvalidate : cross validation

    • RFlikelihood : likelihood

    • RFratiotest : likelihood ratio test

    • AIC, AICc, BIC, anova, logLik

  7. Models

    • For an introduction an general properties, see RMmodels.

    • For an overview over classes of covariance and variogram models –e.g. for geostatistical purposes– see RM. More sophisticated models and covariance function operators are included.

    • To apply the offered package procedures to mixed models – e.g. appearing in genetical data analysis– see RFformula.

    • definite models are evaluated by RFcov, RFvariogram and RFcovmatrix. For a quick impression use plot(model).

    • non-definte models are evaluated by RFfctn and RFcalc

    • RFlinearpart returns the linear part of a model

    • RFboxcox deals explicitely with Box-Cox transformations. In many cases it is performed implicitely.

  8. Prediction (for second-order random fields)

    • RFinterpolate : kriging, including imputing

  9. Simulation

    • RFsimulate: Simulation of random fields, including conditional simulation. For a list of all covariance functions and variogram models see RM. Use plot for visualisation of the result.

  10. S3 and S4 objects

    • The functions return S4 objects based on the package sp, if spConform=TRUE. This is the default.

      If spConform=FALSE, simple objects as in version 2 are returned. These simple objects are frequently provided with an S3 class. This options makes the returning procedure much faster, but currently does not allow for the comfortable use of plot.

    • plot, print, summary, sometimes also str recognise these S3 and S4 objects

    • use sp2RF for an explicite transformation of sp objects to S4 objects of RandomFields.

    • Further generic functions are available for fitted models, see ‘Inference’ above.

  11. Xtended features, especially for package programmers

    • might decide on a large variety of arguments of the simulation and estimation procedures using the function RFoptions

    • may use ‘./configure –with-tcl-config=/usr/lib/tcl8.5/tclConfig.sh –with-tk-config=/usr/lib/tk8.5/tkConfig.sh’ to configure R


A list of major changings from Version 2 to Version 3 can be found in MajorRevisions.

Changings lists some further changings, in particular of argument and argument names.


Current updates are available through http://ms.math.uni-mannheim.de/de/publications/software.



Patrick Brown : comments on Version 3
Paulo Riberio : comments on Version 1
Martin Maechler : advice for Version 1

Financial support


The following packages enable further choices for the optimizer (instead of optim) in RandomFields: optimx, soma, GenSA, minqa, pso, DEoptim, nloptr, RColorBrewer, colorspace


Martin Schlather, schlather@math.uni-mannheim.de http://ms.math.uni-mannheim.de/de/publications/software


See Also

See also RF, RM, RP, RR, RC, R.


RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set
##                   RFoptions(seed=NA) to make them all random again

# simulate some data first (Gaussian random field with exponential
# covariance; 6 realisations)
model <- RMexp()
x <- seq(0, 10, 0.1)
z <- RFsimulate(model, x, x, n=6)

## select some data from the simulated data
xy <- coordinates(z)
pts <- sample(nrow(xy), min(100, nrow(xy) / 2))
data <- matrix(nrow=nrow(xy), as.vector(z))[pts, ]
data <- cbind(xy[pts, ], data)
plot(z, data)

## re-estimate the parameter (true values are 1)
estmodel <- RMexp(var=NA, scale=NA)
(fit <- RFfit(estmodel, data=data))

## show a kriged field based on the estimated parameters
kriged <- RFinterpolate(fit, x, x, data=data)
plot(kriged, data)

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.