# idw

0th

Percentile

##### Inverse-distance weighted smoothing of observations at irregular points

Performs spatial smoothing of numeric values observed at a set of irregular locations using inverse-distance weighting.

Keywords
methods, smooth, spatial
##### Usage
idw(X, power=2, at="pixels", ...)
##### Arguments
X

A marked point pattern (object of class "ppp").

power

Numeric. Power of distance used in the weighting.

at

String specifying whether to compute the intensity values at a grid of pixel locations (at="pixels") or only at the points of X (at="points").

Arguments passed to as.mask to control the pixel resolution of the result.

##### Details

This function performs spatial smoothing of numeric values observed at a set of irregular locations.

Smoothing is performed by inverse distance weighting. If the observed values are $v_1,\ldots,v_n$ at locations $x_1,\ldots,x_n$ respectively, then the smoothed value at a location $u$ is $$g(u) = \frac{\sum_i w_i v_i}{\sum_i w_i}$$ where the weights are the inverse $p$-th powers of distance, $$w_i = \frac 1 {d(u,x_i)^p}$$ where $d(u,x_i) = ||u - x_i||$ is the Euclidean distance from $u$ to $x_i$.

The argument X must be a marked point pattern (object of class "ppp", see ppp.object). The points of the pattern are taken to be the observation locations $x_i$, and the marks of the pattern are taken to be the numeric values $v_i$ observed at these locations.

The marks are allowed to be a data frame. Then the smoothing procedure is applied to each column of marks.

If at="pixels" (the default), the smoothed mark value is calculated at a grid of pixels, and the result is a pixel image. The arguments … control the pixel resolution. See as.mask.

If at="points", the smoothed mark values are calculated at the data points only, using a leave-one-out rule (the mark value at a data point is excluded when calculating the smoothed value for that point).

An alternative to inverse-distance weighting is kernel smoothing, which is performed by Smooth.ppp.

##### Value

If X has a single column of marks:

• If at="pixels" (the default), the result is a pixel image (object of class "im"). Pixel values are values of the interpolated function.

• If at="points", the result is a numeric vector of length equal to the number of points in X. Entries are values of the interpolated function at the points of X.

If X has a data frame of marks:

• If at="pixels" (the default), the result is a named list of pixel images (object of class "im"). There is one image for each column of marks. This list also belongs to the class "solist", for which there is a plot method.

• If at="points", the result is a data frame with one row for each point of X, and one column for each column of marks. Entries are values of the interpolated function at the points of X.

##### References

Shepard, D. (1968) A two-dimensional interpolation function for irregularly-spaced data. Proceedings of the 1968 ACM National Conference, 1968, pages 517--524. DOI: 10.1145/800186.810616

density.ppp, ppp.object, im.object.

See Smooth.ppp for kernel smoothing and nnmark for nearest-neighbour interpolation.

To perform other kinds of interpolation, see also the akima package.

• idw
##### Examples
# NOT RUN {
# data frame of marks: trees marked by diameter and height
data(finpines)
plot(idw(finpines))
idw(finpines, at="points")[1:5,]
# }

Documentation reproduced from package spatstat, version 1.57-1, License: GPL (>= 2)

### Community examples

Looks like there are no examples yet.