Learn R Programming

spatstat.geom (version 3.3-3)

rjitter: Random Perturbation of a Point Pattern

Description

Applies independent random displacements to each point in a point pattern.

Usage

rjitter(X, ...)

# S3 method for ppp rjitter(X, radius, retry=TRUE, giveup = 10000, trim=FALSE, ..., nsim=1, drop=TRUE, adjust=1)

Value

The result of rjitter.ppp is a point pattern (an object of class "ppp") or a list of point patterns.

Each point pattern has attributes "radius"

and (if retry=TRUE) "tries".

Arguments

X

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

radius

Scale of perturbations. A positive numerical value. The displacement vectors will be uniformly distributed in a circle of this radius. There is a sensible default. Alternatively, radius may be a numeric vector of length equal to the number of points in X, giving a different displacement radius for each data point.

retry

What to do when a perturbed point lies outside the window of the original point pattern. If retry=FALSE, the point will be lost; if retry=TRUE, the algorithm will try again.

giveup

Maximum number of unsuccessful attempts.

trim

Logical value. If TRUE, the displacement radius for each data point will be constrained to be less than or equal to the distance from the data point to the window boundary. This ensures that all displaced points will fall inside the window.

...

Ignored.

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.

adjust

Adjustment factor applied to the radius. A numeric value or numeric vector.

Author

Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner rolfturner@posteo.net and Ege Rubak rubak@math.aau.dk.

Details

The function rjitter is generic, with methods for point patterns (described here) and for some other types of geometrical objects.

Each of the points in the point pattern X is subjected to an independent random displacement. The displacement vectors are uniformly distributed in a circle of radius radius.

If a displaced point lies outside the window, then if retry=FALSE the point will be lost.

However if retry=TRUE, the algorithm will try again: each time a perturbed point lies outside the window, the algorithm will reject the perturbed point and generate another proposed perturbation of the original point, until one lies inside the window, or until giveup unsuccessful attempts have been made. In the latter case, any unresolved points will be included, without any perturbation. The return value will always be a point pattern with the same number of points as X.

If trim=TRUE, then the displacement radius for each data point will be constrained to be less than or equal to the distance from the data point to the window boundary. This ensures that the randomly displaced points will always fall inside the window; no displaced points will be lost and no retrying will be required. However, it implies that a point lying exactly on the boundary will never be perturbed.

If adjust is given, the jittering radius will be multiplied by adjust. This allows the user to specify that the radius should be a multiple of the default radius.

The resulting point pattern has an attribute "radius" giving the value of radius used. If retry=TRUE, the resulting point pattern also has an attribute "tries" reporting the maximum number of trials needed to ensure that all jittered points were inside the window.

See Also

rexplode

Examples

Run this code
   X <- rsyst(owin(), 10, 10)
   Y <- rjitter(X, 0.02)
   plot(Y)
   Z <- rjitter(X)
   U <- rjitter(X, 0.025, trim=TRUE)

Run the code above in your browser using DataLab