Fields is a collection of programs for curve and function
fitting with an emphasis on spatial data and spatial statistics. The
major methods implemented include cubic and thin plate splines,
universal
Kriging and Kriging for large data sets. One main feature is any
covariance function implemented in R code can be used for spatial prediction. Another important feature is that fields will take advantage of compactly supported covariance functions in a seamless way through
the spam package. See library( help=fields)
for a listing of all the
fields contents.
fields stives to have readable and tutorial code. Take a look at the
source code for Krig
and mKrig
to see how things work
"under the hood".
To load fields with the comments retained in the source
use keep.source = TRUE
in the library
command.
We also keep the source online:
browse the directory
http://www.image.ucar.edu/~nychka/Fields/Source for commented source.
http://www.image.ucar.edu/~nychka/Fields/Help/00Index.html is a
page for html formatted help files. (If you obtain the source version of the
package (file ends in .gz) the commented source code is the R subdirectory.)
Major methods
Tps
Thin Plate spline
regression including GCV and REML estimates for the smoothing parameter.
spatialProcess
An easy to use method that fits a spatial process model
( e.g. Kriging) but also estimates the key spatial parameters: nugget variance, sill variance and range by maximum likelihood. Default covariance model is a Matern covariance function.
Krig
Spatial process estimation that is the core function of fields.
The Krig function allows you to supply a covariance function that is
written in native R code. See (stationary.cov
) that includes
several families of covariances and distance metrics including the
Matern and great circle distance.
mKrig
(micro Krig) are
fastTps
fast efficient Universal Kriging and splinelike functions, that can take advantage of sparse covariance
functions and thus handle very large numbers of spatial locations.
QTps
A easy to use extension of thin plate splines for quantile and robust surface fitting.
mKrigMLEGrid
for maximum likelihood estimates of covariance parameters. This function also
handles replicate fields assumed to be independent realizations at the same locations.
Other noteworthy functions
vgram
and vgram.matrix
find variograms for spatial data (and
with temporal replications.
cover.design
Generates spacefilling designs where the distance
function is expresed in R code.
as.image
, image.plot
, drape.plot
, quilt.plot
add.image
, crop.image
, half.image
, average.image
,
designer.colors
, color.scale
, in.poly
Many
convenient functions for working with image data and rationally (well,
maybe reasonably) creating and placing a color scale on an image plot.
See also grid.list
for how fields works with grids and US
and world
for adding a map quickly.
sreg
splint
Fast 1D smoothing
splines and interpolating cubic splines.
Generic functions that support the methods
plot
 diagnostic plots of fit
summary
 statistical summary of fit
print
 shorter version of summary
surface
 graphical display of fitted surface
predict
 evaluation fit at arbitrary points
predictSE
 prediction standard errors at arbitrary points.
sim.rf
 Simulate a random fields on a 2d grid.
Getting Started
Try some of the examples from help files for Tps
or
spatialProcess
.
Graphics tips
help( fields.hints)
gives some R code tricks for setting up common legends and axes.
And has little to do with this package!
Testing
See help(fields.tests)
for testing fields.
Some fields datasets
CO2
Global satelite CO2 concentrations (simulated field)
RCMexample
Regional climate model output
lennon
Image of John Lennon
COmonthlyMet
Monthly mean temperatures and precip for Colorado
RMelevation
Digital elevations for the Rocky Mountain Empire
ozone2
Daily max 8 hour ozone concentrations for the US midwest
for summer 1987.
PRISMelevation
Digital elevations for the
continental US at approximately 4km resolution
NorthAmericanRainfall
50+ year average and trend for summer rainfall at
1700+ stations.
rat.diet
Small paired study on rat food intake over time.
WorldBankCO2
Demographic and carbon emission data
for 75 countries and for 1999.
DISCLAIMER: The authors can not guarantee the correctness of any function or program in this package.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28  # some air quality data, daily surface ozone measurements for the Midwest:
data(ozone2)
x<ozone2$lon.lat
y< ozone2$y[16,] # June 18, 1987
# pixel plot of spatial data
quilt.plot( x,y)
US( add=TRUE) # add US map
fit< Tps(x,y)
# fits a GCV thin plate smoothing spline surface to ozone measurements.
# Hey, it does not get any easier than this!
summary(fit) #diagnostic summary of the fit
set.panel(2,2)
plot(fit) # four diagnostic plots of fit and residuals.
# quick plot of predicted surface
set.panel()
surface(fit) # contour/image plot of the fitted surface
US( add=TRUE, col="magenta", lwd=2) # US map overlaid
title("Daily max 8 hour ozone in PPB, June 18th, 1987")
fit2< spatialProcess( x,y)
# a "Kriging" model. The covariance defaults to a Matern with smoothness 1.0.
# the nugget, sill and range parameters are found by maximum likelihood
# summary, plot, and surface also work for fit2 !

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.