lut(outputs, ..., range=NULL, breaks=NULL, inputs=NULL)
breaks
or inputs
.
outputs
.
Incompatible with breaks
or range
.
length(outputs)+1
.
Incompatible with range
or inputs
.
"lut"
.
The command lut
creates an object representing
a lookup table, which can then be used to control various behaviour
in the spatstat package. It can also be used to compute the
output value assigned to any input value.
The argument outputs
specifies the output values to which
input data values will be mapped. It should be a vector of
any atomic type (e.g. numeric, logical, character, complex) or factor
values.
Exactly one of the arguments range
, inputs
or breaks
must be specified by name.
If inputs
is given, then it should be a vector or factor,
of the same length as outputs
. The entries of inputs
can be
any atomic type (e.g. numeric, logical, character, complex) or factor
values. The resulting lookup table associates the value inputs[i]
with the value outputs[i]
.
If range
is given, then it determines the interval of the real
number line that will be mapped. It should be a numeric vector of
length 2.
If breaks
is given, then it determines intervals
of the real number line
which are mapped to each output value. It should be a numeric vector,
of length at least 2, with entries that are in increasing order.
Infinite values are allowed. Any number in the range
between breaks[i]
and breaks[i+1]
will be mapped to the
value outputs[i]
.
The result is an object of class "lut"
.
There is a print
method for this class.
Some plot commands in the spatstat package accept an object
of this class as a specification of a lookup table.
The result is also a function f
which can be used to compute
the output value assigned to any input data value.
That is, f(x)
returns the output value assigned
to x
. This also works for vectors of input data values.
colourmap
.
# lookup table for real numbers, using breakpoints
cr <- lut(factor(c("low", "medium", "high")), breaks=c(0,5,10,15))
cr
cr(3.2)
cr(c(3,5,7))
# lookup table for discrete set of values
ct <- lut(c(0,1), inputs=c(FALSE, TRUE))
ct(TRUE)
Run the code above in your browser using DataLab