Create a lookup table.
lut(outputs, ..., range=NULL, breaks=NULL, inputs=NULL, gamma=1)Vector of output values
Ignored.
Interval of numbers to be mapped.
    A numeric vector of length 2, specifying the ends of the range of values
    to be mapped.
    Incompatible with breaks or inputs.
Input values to which the output values are associated.
    A factor or vector of the same length as outputs.
    Incompatible with breaks or range.
Breakpoints for the lookup table.
    A numeric vector of length equal to length(outputs)+1.
    Incompatible with range or inputs.
Exponent for gamma correction, when range is given.
    A single positive number.
    See Details.
A function, which is also an object of class "lut".
A lookup table is a function, mapping input values to output values.
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].
    The argument outputs should have the same length as inputs.
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. 
    The interval will be divided evenly into bands, each of which is
    mapped to an entry of outputs. (If gamma is given,
    then the bands are equally spaced on a scale where the original values
    are raised to the power gamma.)
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 argument outputs should have length equal to
    length(breaks) - 1.
It is also permissible for outputs to be a single value,
  representing a trivial lookup table in which all data values are mapped to
  the same output value.
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.
# NOT RUN {
  # 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