Learn R Programming

spatstat (version 1.56-1)

linfun: Function on a Linear Network

Description

Create a function on a linear network.

Usage

linfun(f, L)

Arguments

f

A function in the R language.

L

A linear network (object of class "linnet") on which f is defined.

Value

A function in the R\ language. It also belongs to the class "linfun" which has methods for plot, print etc.

Details

This creates an object of class "linfun". This is a simple mechanism for handling a function defined on a linear network, to make it easier to display and manipulate.

f should be a function in the R language, with formal arguments f(x,y,seg,tp) or f(x,y,seg,tp, …) where x,y are Cartesian coordinates of locations on the linear network, seg, tp are the local coordinates, and are optional additional arguments.

The function f should be vectorised: that is, if x,y,seg,tp are numeric vectors of the same length n, then v <- f(x,y,seg,tp) should be a vector of length n.

L should be a linear network (object of class "linnet") inside which the function f is well-defined.

The result is a function g in the R language which belongs to the special class "linfun". This function can be called as g(X) where X is an "lpp" object, or called as g(x,y) or g(x,y,seg,tp) where x,y,seg,tp are coordinates. There are several methods for this class including print, plot and as.linim.

See Also

methods.linfun for methods applicable to "linfun" objects.

distfun.lpp, nnfun.lpp.

Examples

Run this code
# NOT RUN {
  f <- linfun(function(x,y,seg,tp) { x+y }, simplenet)
  plot(f)
  X <- runiflpp(3, simplenet)
  plot(X, add=TRUE, cex=2)
  f(X)
# }

Run the code above in your browser using DataLab