rthin | R Documentation |
Applies independent random thinning to a point pattern or segment pattern.
rthin(X, P, ..., nsim=1, drop=TRUE)
X |
A point pattern (object of class |
P |
Data giving the retention probabilities, i.e. the probability
that each point or line in |
... |
Additional arguments passed to |
nsim |
Number of simulated realisations to be generated. |
drop |
Logical. If |
In a random thinning operation, each point of the point pattern X
is randomly either deleted or retained (i.e. not deleted).
The result is a point pattern,
consisting of those points of X
that were retained.
Independent random thinning means that the retention/deletion of each point is independent of other points.
The argument P
determines the probability of retaining
each point. It may be
so that each point will be retained with
the same probability P
;
so that the i
th point of X
will be retained with probability P[i]
;
P(x,y)
,so that a point at a location
(x,y)
will be retained with probability P(x,y)
;
"funxy"
or "linfun"
,so that
points in the pattern X
will be retained with probabilities
P(X)
;
containing values of the retention probability for all locations in a region encompassing the point pattern.
If P
is a function P(x,y)
,
it should be ‘vectorised’, that is,
it should accept vector arguments x,y
and should yield a
numeric vector of the same length. The function may have extra
arguments which are passed through the ...
argument.
An object of the same kind as X
if nsim=1
, or a list of such objects if nsim > 1
.
The algorithm for random thinning was changed in spatstat
version 1.42-3
. Set spatstat.options(fastthin=FALSE)
to use the previous, slower algorithm, if it is desired to reproduce
results obtained with earlier versions.
.
plot(redwood, main="thinning")
# delete 20% of points
Y <- rthin(redwood, 0.8)
points(Y, col="green", cex=1.4)
# function
f <- function(x,y) { ifelse(x < 0.4, 1, 0.5) }
Y <- rthin(redwood, f)
# pixel image
Z <- as.im(f, Window(redwood))
Y <- rthin(redwood, Z)
# thin other kinds of patterns
E <- rthin(osteo$pts[[1]], 0.6)
L <- rthin(copper$Lines, 0.5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.