Version 0.7.14

This package implements nonparametric methods for inference on multidimensional spatial (or spatio-temporal) processes, which may be (especially) useful in (automatic) geostatistical modeling and interpolation.

Main functions

Nonparametric methods for inference on both spatial trend and variogram functions:

  • np.fitgeo() (automatically) fits an isotropic nonparametric geostatistical model by estimating the trend and the variogram (using a bias-corrected estimator) iteratively (by calling, locpol(), np.svariso.corr() and at each iteration).

  • locpol(), np.den() and np.svar() use local polynomial kernel smoothing to compute nonparametric estimates of a multidimensional regression function (e.g. a spatial trend), a probability density function or a semivariogram (or their first derivatives), respectively. Estimates of these functions can be constructed for any dimension (depending on the amount of available memory).

  • np.svariso.corr() computes a bias-corrected nonparametric semivariogram estimate using an iterative algorithm similar to that described in Fernandez-Casal and Francisco-Fernandez (2014). This procedure tries to correct the bias due to the direct use of residuals (obtained, in this case, from a nonparametric estimation of the trend function) in semivariogram estimation.

  • fits a ‘nonparametric’ isotropic Shapiro-Botha variogram model by WLS. Currently, only isotropic semivariogram estimation is supported.

Nonparametric residual kriging (sometimes called external drift kriging):

  • np.kriging() computes residual kriging predictions
    (and the corresponding simple kriging standard errors).

  • kriging.simple() computes simple kriging predictions and standard errors.

  • Currently, only global (residual) simple kriging is implemented.
    Users are encouraged to use gstat::krige() (or together with as.vgm() for local kriging.

Other functions

Among the other functions intended for direct access by the user, the following (methods for multidimensional linear binning, local polynomial kernel regression, density or variogram estimation) could be emphasized: binning(), bin.den(), svar.bin(), and interp(). There are functions for plotting data joint with a legend representing a continuous color scale (based on fields::image.plot()):

  • splot() allows to combine a standard R plot with a legend.

  • spoints(), simage() and spersp() draw the corresponding high-level plot with a legend strip for the color scale.

There are also some functions which can be used to interact with other packages. For instance, as.variogram() (geoR) or as.vgm() (gstat).

See the Reference for the complete list of functions.


npsp is available from CRAN, but you can install the development version from github with:

# install.packages("devtools")

Note also that, as this package requires compilation, Windows users need to have previously installed the appropriate version of Rtools, and OS X users need to have installed Xcode.

Alternatively, Windows users may install the corresponding file in the releases section of the github repository.

For R versions 4.3.x under Windows:

                 repos = NULL)


Ruben Fernandez-Casal (Dep. Mathematics, University of A Coruña, Spain). Please send comments, error reports or suggestions to .


Important suggestions and contributions to some techniques included here were made by Sergio Castillo-Páez (Universidad de las Fuerzas Armadas ESPE, Ecuador) and Tomas Cotos-Yañez (Dep. Statistics, University of Vigo, Spain).

This research has been supported by MINECO grant MTM2017-82724-R, and by the Xunta de Galicia (Grupos de Referencia Competitiva ED431C-2020-14 and Centro de Investigación del Sistema universitario de Galicia ED431G 2019/01), all of them through the ERDF.