# rthin: Random Thinning In spatstat: Spatial Point Pattern Analysis, Model-Fitting, Simulation, Tests

## Description

Applies independent random thinning to a point pattern or segment pattern.

## Usage

 `1` ```rthin(X, P, ..., nsim=1, drop=TRUE) ```

## Arguments

 `X` A point pattern (object of class `"ppp"` or `"lpp"` or `"pp3"` or `"ppx"`) or line segment pattern (object of class `"psp"`) that will be thinned. `P` Data giving the retention probabilities, i.e. the probability that each point or line in `X` will be retained. Either a single number, or a vector of numbers, or a `function(x,y)` in the R language, or a function object (class `"funxy"` or `"linfun"`), or a pixel image (object of class `"im"` or `"linim"`). `...` Additional arguments passed to `P`, if it is a function. `nsim` Number of simulated realisations to be generated. `drop` Logical. If `nsim=1` and `drop=TRUE` (the default), the result will be a point pattern, rather than a list containing a point pattern.

## Details

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

a single number,

so that each point will be retained with the same probability `P`;

a vector of numbers,

so that the `i`th point of `X` will be retained with probability `P[i]`;

a function `P(x,y)`,

so that a point at a location `(x,y)` will be retained with probability `P(x,y)`;

an object of class `"funxy"` or `"linfun"`,

so that points in the pattern `X` will be retained with probabilities `P(X)`;

a pixel image,

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.

## Value

An object of the same kind as `X` if `nsim=1`, or a list of such objects if `nsim > 1`.

## Reproducibility

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.

\spatstatAuthors

.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23``` ``` 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) # pattern on a linear network A <- runiflpp(30, simplenet) B <- rthin(A, 0.2) g <- function(x,y,seg,tp) { ifelse(y < 0.4, 1, 0.5) } B <- rthin(A, linfun(g, simplenet)) # thin other kinds of patterns E <- rthin(osteo\$pts[], 0.6) L <- rthin(copper\$Lines, 0.5) ```

spatstat documentation built on July 2, 2020, 2:01 a.m.