krige-ANY-prevR-method: Spatial interpolation (kriging and inverse distance... In prevR: Estimating Regional Trends of a Prevalence from a DHS and Similar Surveys

Description

These functions execute a spatial interpolation of a variable of the slot `rings` of an object of class prevR. The method `krige` implements the ordinary kriging technique. The method `idw` executes an inverse distance weighting interpolation.

Usage

 ``` 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``` ```## S4 method for signature 'ANY,prevR' krige( formula, locations, N = NULL, R = Inf, model = NULL, nb.cells = 100, cell.size = NULL, fit = "auto", keep.variance = FALSE, show.variogram = FALSE, ... ) ## S4 method for signature 'ANY,prevR' idw( formula, locations, N = NULL, R = Inf, nb.cells = 100, cell.size = NULL, idp = 2, ... ) ```

Arguments

 `formula` variable(s) to interpolate (see details). `locations` object of class prevR. `N` integer or list of integers corresponding to the rings to use. `R` integer or list of integers corresponding to the rings to use. `model` a variogram model returned by the function `gstat::vgm()`. `nb.cells` number of cells on the longuest side of the studied area (unused if `cell.size` is defined). `cell.size` size of each cell (in the unit of the projection). `fit` "auto" for using a variogram automatically fitted from the data, "manual" for using a variogram fitted through a graphic interface (unused if `model` is defined). `keep.variance` return variance of estimates? `show.variogram` plot the variogram? `...` additional arguments transmited to `gstat::krige()` or `gstat::idw()`. `idp` inverse distance weighting power (see `gstat::idw()`).

Details

`formula` specifies the variable(s) to interpolate. Only variables available in the slot `rings` of `locations` could be used. Possible values are "r.pos", "r.n", "r.prev", "r.radius", "r.clusters", "r.wpos", "r.wn" ou "r.wprev". Variables could be specifed with a character string or a formula (example: `list(r.pos~1,r.prev~1`). Only formula like `variable.name~1` are accepted. For more complexe interpolations, use directly functions `gstat::krige()` and `gstat::idw()` from gstat.

`N` and `R` determine the rings to use for the interpolation. If they are not defined, surfaces will be estimated for each available couples (N,R). Several interpolations could be simultaneously calculated if several variables and/or several values of N and R are defined.

A suggested value of N could be computed with `Noptim()`.

In the case of an ordinary kriging, the method `krige()` from prevR will try to fit automatically a exponantial variogram to the sample variogram (`fit="auto"`). If you choose `fit="manual"`, the sample variogram will be plotted and a graphical dialog box (adapted from `geoR::eyefit()` will appear for a manual and visual fitting. You can also specify directly the variogram to use with the parameter `model`. Packages geoR and tcltk are required for manual fit.

Interpolations are calculated on a spatial grid obtained with `as.SpatialGrid()`.

Value

Object of class sp::SpatialPixelsDataFrame. The name of estimated surfaces depends on the name of the interpolated variable, N and R (for example: r.radius.N300.RInf). If you ask the function to return variance (`keep.variance=TRUE`), corresponding surfaces names will have the suffix .var.

`NA` value is applied to points located outside of the studied area
(voir `NA.outside.SpatialPolygons()`).

Note

Results could be plotted with `sp::spplot()`.
prevR provides several continuous color palettes (see prevR.colors) compatible with `sp::spplot()`.
Calculated surfaces could be export using the function `maptools::writeAsciiGrid()`.

References

Larmarange Joseph, Vallo Roselyne, Yaro Seydou, Msellati Philippe and Meda Nicolas (2011) "Methods for mapping regional trends of HIV prevalence from Demographic and Health Surveys (DHS)", Cybergeo: European Journal of Geography, no 558, https://journals.openedition.org/cybergeo/24606, DOI: 10.4000/cybergeo.24606.

`gstat::krige()`, `gstat::idw()`, `rings()`, `Noptim()`.
 ```1 2 3 4 5 6 7 8``` ``` ## Not run: dhs <- rings(fdhs, N = c(100,200,300,400,500)) radius.N300 <- krige('r.radius', dhs, N = 300, nb.cells = 200) prev.krige <- krige(r.wprev ~ 1, dhs, N = c(100, 300, 500)) library(sp) spplot(prev.krige, c('r.wprev.N100.RInf', 'r.wprev.N300.RInf', 'r.wprev.N500.RInf')) ## End(Not run) ```