# by.ppp

From spatstat v1.21-0
by Adrian Baddeley

##### Apply a Function to a Point Pattern Broken Down by Factor

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
`"ppp"`

). - INDICES
- Grouping variable. Either a factor, a pixel image with factor values, or a tessellation.
- FUN
- Function to be applied to subsets of
`data`

. - ...
- Additional arguments to
`FUN`

.

##### 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 of`INDICES`

determine the destination of each point in`data`

. The`i`

th point of`data`

will be placed in the sub-pattern`split.ppp(data)$l`

where`l = f[i]`

. - a pixel image (object of class
`"im"`

) with factor values. The pixel value of`INDICES`

at each point of`data`

will be used as the classifying variable. - a tessellation (object of class
`"tess"`

). Each point of`data`

will be classified according to the tile of the tessellation into which it falls.

`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
`"listof"`

) containing the results returned from`FUN`

for each of the subpatterns.

##### See Also

##### Examples

```
# multitype point pattern, broken down by type
data(amacrine)
by(amacrine, FUN=density)
by(amacrine, FUN=function(x) { min(nndist(x)) } )
# 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, 5, 5)
B <- by(swedishpines, tes, clarkevans, correction="Donnelly")
unlist(lapply(B, as.numeric))
```

*Documentation reproduced from package spatstat, version 1.21-0, License: GPL (>= 2)*

### Community examples

Looks like there are no examples yet.