# C_07_shingles

##### shingles

Functions to handle shingles

##### Usage

```
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)

##### Arguments

- 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.

##### Details

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.

##### Value

`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.

##### See Also

##### Examples

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

*Documentation reproduced from package lattice, version 0.20-38, License: GPL (>= 2)*