spatstat (version 1.36-0)

by.im: Apply Function to Image Broken Down by Factor

Description

Splits a pixel image into sub-images and applies a function to each sub-image.

Usage

## S3 method for class 'im':
by(data, INDICES, FUN, ...)

Arguments

data
A pixel image (object of class "im").
INDICES
Grouping variable. Either a tessellation (object of class "tess") or a factor-valued pixel image.
FUN
Function to be applied to each sub-image of data.
...
Extra arguments passed to FUN.

Value

  • A list containing the results of each evaluation of FUN.

Details

This is a method for the generic function by for pixel images (class "im").

The pixel image data is first divided into sub-images according to INDICES. Then the function FUN is applied to each subset. The results of each computation are returned in a list.

The grouping variable INDICES may be either

  • a tessellation (object of class"tess"). Each tile of the tessellation delineates a subset of the spatial domain.
  • a pixel image (object of class"im") with factor values. The levels of the factor determine subsets of the spatial domain.

See Also

split.im, tess, im

Examples

Run this code
W <- square(1)
  X <- as.im(function(x,y){sqrt(x^2+y^2)}, W)
  Y <- dirichlet(runifpoint(12, W))
  # mean pixel value in each subset
  unlist(by(X, Y, mean))
  # trimmed mean
  unlist(by(X, Y, mean, trim=0.05))

Run the code above in your browser using DataCamp Workspace