linfun | R Documentation |
Create a function on a linear network.
linfun(f, L)
f |
A |
L |
A linear network (object of class |
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 x,y,seg,tp
(and optional additional
arguments) where x,y
are
Cartesian coordinates of locations on the linear network,
seg, tp
are the local coordinates.
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"
)
on which the function f
is well-defined.
The result is a function g
in the R language which belongs to
the special class "linfun"
. There are several methods
for this class including print
, plot
and as.linim
.
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. If the original function f
had additional arguments, then these may be included in the call
to g
, and will be passed to f
.
A function in the R\ language.
It also belongs to the class "linfun"
which has methods
for plot
, print
etc.
and \rolf
methods.linfun
for methods applicable to
"linfun"
objects.
distfun.lpp
,
nnfun.lpp
.
f <- function(x,y,seg,tp) { x+y }
g <- linfun(f, simplenet)
plot(g)
X <- runiflpp(3, simplenet)
g(X)
Z <- as.linim(g)
f <- function(x,y,seg,tp, mul=1) { mul*(x+y) }
g <- linfun(f, simplenet)
plot(g)
plot(g, mul=10)
g(X, mul=10)
Z <- as.linim(g, mul=10)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.