idw(X, power=2, at="pixels", ...)
"ppp"
).at="pixels"
) or
only at the points of X
(at="points"
).
as.mask
to control the pixel resolution of the result.X
has a single column of marks:
at="pixels"
(the default), the result is
a pixel image (object of class "im"
).
Pixel values are values of the interpolated function.
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
.
X
has a data frame of marks:
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.
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
.
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
.
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.
# data frame of marks: trees marked by diameter and height
data(finpines)
plot(idw(finpines))
idw(finpines, at="points")[1:5,]
Run the code above in your browser using DataLab