| rtoro {spatstat} | R Documentation |
Applies a random shift simultaneously to all the points of a point pattern, or to selected sub-patterns, with wraparound at the borders of the window.
rtoro(X, which=NULL)
X |
Point pattern to be subjected to random shift.
An object of class "ppp" or "splitppp".
|
which |
Identifies which components of the pattern will be shifted.
Vector of marks (if X is a multitype point pattern)
or subset of names(X) (if X is a "splitppp"
object). Each component will be shifted independently.
|
This operation randomises the locations of the points in a point pattern. It is useful for some hypothesis testing purposes.
A `shift' is a simultaneous, parallel displacement of all points by the same displacement vector (delta.x, delta.y). Shifting a point pattern could leave some points outside the boundary of the window of observation, so we may (if the window is a rectangle) treat opposite edges of the window as identical, so that a point which disappears off the right-hand edge will re-appear at the left-hand edge. This is called a ``toroidal shift'' because it makes the rectangle topologically equivalent to the surface of a torus (doughnut).
The argument X may be either
"ppp")
"splitppp"
(basically a list of point patterns, obtained from
split.ppp).
If which=NULL, then
X is a point pattern object,
all the points of the pattern
are shifted simultaneously by the same displacement vector.
X is an object of class "splitppp"
then each of the component point patterns is randomly shifted by a
different displacement vector.
The argument which identifies which sub-patterns of
X will be subjected to random shifts. Different sub-patterns
will be shifted by different displacement vectors.
If which is not NULL, then
X is a point pattern object,
it should be a multitype pattern (i.e. X$marks must be a
factor). Then which should be a vector of types
(i.e. a vector containing one or more levels of X$marks).
For each value a in which, the sub-pattern of
X consisting of points of type a only will be
extracted, and subjected to a random toroidal shift.
A different shift will be applied to different sub-patterns.
The points not selected by which will be unchanged.
X is an object of class "splitppp",
then which can be any valid subset index for the list X.
For example which could be a vector of names of components
in the list X. Each selected component point pattern will be shifted
by a different displacement vector.
In this implementation, every random displacement vector is generated with a uniform distribution over the range of possible displacement vectors. That is, the coordinates delta.x, delta.y are independent and uniformly distributed.
An object of the same type as X.
Adrian Baddeley adrian@maths.uwa.edu.au http://www.maths.uwa.edu.au/~adrian/ and Rolf Turner rolf@math.unb.ca http://www.math.unb.ca/~rolf
data(amacrine) # point patterns: # shift all points simultaneously X <- rtoro(amacrine) # shift "on" and "off" points separately X <- rtoro(amacrine, which=amacrine$marks) # shift "on" points and leave "off" points fixed X <- rtoro(amacrine, which="on") # splitppp objects: Y <- split(amacrine) # shift "on" and "off" points separately Z <- rtoro(Y) # shift "on" points and leave "off" points fixed Z <- rtoro(Y, "on") # shift all points simultaneously Z <- split(rtoro(superimpose(Y)))