Functions to handle shingles

```
shingle(x, intervals=sort(unique(x)))
equal.count(x, …)
as.shingle(x)
is.shingle(x)
```# S3 method for shingle
plot(x, panel, xlab, ylab, …)

# S3 method for shingle
print(x, showValues = TRUE, …)

# S3 method for shingleLevel
as.character(x, …)

# S3 method for shingleLevel
print(x, …)

# S3 method for shingle
summary(object, showValues = FALSE, …)

# S3 method for shingle
[(x, subset, drop = FALSE)
as.factorOrShingle(x, subset, drop)

x

numeric variable or R object, shingle in `plot.shingle`

and
`x[]`

. An object (list of intervals) of class "shingleLevel" in
`print.shingleLevel`

object

shingle object to be summarized

showValues

logical, whether to print the numeric part. If FALSE, only the intervals are printed

intervals

numeric vector or matrix with 2 columns

subset

logical vector

drop

whether redundant shingle levels are to be dropped

panel, xlab, ylab

standard Trellis arguments (see
`xyplot`

)

…

other arguments, passed down as appropriate. For
example, extra arguments to `equal.count`

are passed on to
`co.intervals`

. graphical parameters can be passed as
arguments to the `plot`

method.

`x$intervals`

for `levels.shingle(x)`

,
logical for `is.shingle`

, an object of class `"trellis"`

for
`plot`

(printed by default by `print.trellis`

), and
an object of class `"shingle"`

for the others.

A shingle is a data structure used in Trellis, and is a generalization
of factors to ‘continuous’ variables. It consists of a numeric
vector along with some possibly overlapping intervals. These intervals
are the ‘levels’ of the shingle. The `levels`

and
`nlevels`

functions, usually applicable to factors, also work on
shingles. The implementation of shingles is slightly different from
S.

There are print methods for shingles, as well as for printing the
result of `levels()`

applied to a shingle. For use in labelling,
the `as.character`

method can be used to convert levels of a
shingle to character strings.

`equal.count`

converts `x`

to a shingle using the equal
count algorithm. This is essentially a wrapper around
`co.intervals`

. All arguments are passed to `co.intervals`

.

`shingle`

creates a shingle using the given `intervals`

. If
`intervals`

is a vector, these are used to form 0 length
intervals.

`as.shingle`

returns `shingle(x)`

if `x`

is not a
shingle.

`is.shingle`

tests whether `x`

is a shingle.

`plot.shingle`

displays the ranges of shingles via
rectangles. `print.shingle`

and `summary.shingle`

describe
the shingle object.

# NOT RUN { z <- equal.count(rnorm(50)) plot(z) print(z) print(levels(z)) # }