by.ppp {spatstat.geom} | R Documentation |
Apply a Function to a Point Pattern Broken Down by Factor
Description
Splits a point pattern into sub-patterns, and applies the function to each sub-pattern.
Usage
## S3 method for class 'ppp'
by(data, INDICES=marks(data), FUN, ...)
Arguments
data |
Point pattern (object of class |
INDICES |
Grouping variable. Either a factor, a pixel image with factor values, or a tessellation. |
FUN |
Function to be applied to subsets of |
... |
Additional arguments to |
Details
This is a method for the generic function by
for point patterns (class "ppp"
).
The point pattern data
is first divided into subsets
according to INDICES
. Then the function FUN
is applied to each subset. The results of each computation are
returned in a list.
The argument INDICES
may be
-
a factor, of length equal to the number of points in
data
. The levels ofINDICES
determine the destination of each point indata
. Thei
th point ofdata
will be placed in the sub-patternsplit.ppp(data)$l
wherel = f[i]
. -
a pixel image (object of class
"im"
) with factor values. The pixel value ofINDICES
at each point ofdata
will be used as the classifying variable. -
a tessellation (object of class
"tess"
). Each point ofdata
will be classified according to the tile of the tessellation into which it falls.
If INDICES
is missing, then data
must be a multitype point pattern
(a marked point pattern whose marks vector is a factor).
Then the effect is that the points of each type
are separated into different point patterns.
Value
A list (also of class "anylist"
or "solist"
as
appropriate) containing the results returned
from FUN
for each of the subpatterns.
Author(s)
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner rolfturner@posteo.net and Ege Rubak rubak@math.aau.dk.
See Also
ppp
,
split.ppp
,
cut.ppp
,
tess
,
im
.
Examples
# multitype point pattern, broken down by type
by(amacrine, FUN=minnndist)
by(amacrine, FUN=function(x) { intensity(unmark(x)) })
if(require(spatstat.explore)) {
# how to pass additional arguments to FUN
by(amacrine, FUN=clarkevans, correction=c("Donnelly","cdf"))
}
# point pattern broken down by tessellation
data(swedishpines)
tes <- quadrats(swedishpines, 4,4)
## compute minimum nearest neighbour distance for points in each tile
B <- by(swedishpines, tes, minnndist)
if(require(spatstat.explore)) {
B <- by(swedishpines, tes, clarkevans, correction="Donnelly")
simplify2array(B)
}