structable | R Documentation |
This function produces a ‘flat’ representation of a high-dimensional contingency table constructed by recursive splits (similar to the construction of mosaic displays).
## S3 method for class 'formula'
structable(formula, data,
direction = NULL, split_vertical = NULL, ..., subset, na.action)
## Default S3 method:
structable(..., direction = NULL, split_vertical = FALSE)
formula |
a formula object with possibly both left and right hand sides specifying the column and row variables of the flat table. |
data |
a data frame, list or environment containing the variables
to be cross-tabulated, or an object inheriting from class |
subset |
an optional vector specifying a subset of observations
to be used.
Ignored if |
na.action |
a function which indicates what should happen when
the data contain |
... |
R objects which can be interpreted as factors (including
character strings), or a list (or data frame) whose components can
be so interpreted, or a contingency table object of class
|
split_vertical |
logical vector indicating, for each dimension,
whether it should be split vertically or not (default:
|
direction |
character vector alternatively specifying the
splitting direction ( |
This function produces textual representations of mosaic displays, and
thus ‘flat’ contingency tables. The formula interface is quite
similar to the one of ftable
, but also accepts the
mosaic
-like formula interface (empty left-hand
side). Note that even if the ftable
interface is used,
the split_vertical
or direction
argument is needed to
specify the order of the horizontal and vertical splits.
If pretabulated data with a Freq
column is used, than the
left-hand side should be left empty—the Freq
column will be
handled correctly.
"structable"
objects can be subset using the [
and [[
operators, using either level indices or names (see
examples). The corresponding replacement functions are available as well. In
addition, appropriate aperm
, cbind
,
rbind
, length
, dim
, and
is.na
methods do exist.
An object of class "structable"
,
inheriting from class "ftable"
, with the splitting
information ("split_vertical"
) as additional attribute.
David Meyer David.Meyer@R-project.org
Meyer, D., Zeileis, A., and Hornik, K. (2006),
The strucplot framework: Visualizing multi-way contingency tables with
vcd.
Journal of Statistical Software, 17(3), 1-48.
\Sexpr[results=rd]{tools:::Rd_expr_doi("10.18637/jss.v017.i03")} and available as
vignette("strucplot")
.
strucplot
,
mosaic
,
ftable
structable(Titanic)
structable(Titanic, split_vertical = c(TRUE, TRUE, FALSE, FALSE))
structable(Titanic, direction = c("h","h","v","v"))
structable(Sex + Class ~ Survived + Age, data = Titanic)
## subsetting of structable objects
(hec <- structable(aperm(HairEyeColor)))
## The "[" operator treats structables as a block-matrix and selects parts of the matrix:
hec[1]
hec[2]
hec[1,c(2,4)]
hec["Male",c("Blue","Green")]
## replacement funcion:
tmp <- hec
(tmp[1,2:3] <- tmp[2,c(1,4)])
## In contrast, the "[[" operator treats structables as two-dimensional
## lists. Indexing conditions on specified levels and thus reduces the dimensionality:
## seek subtables conditioning on levels of the first dimension:
hec[[1]]
hec[[2]]
## Seek subtable from the first two dimensions, given the level "Male"
## of the first variable, and "Brown" from the second
## (the following two commands are equivalent):
hec[["Male"]][["Brown"]]
hec[[c("Male","Brown")]]
## Seeking subtables by conditioning on row and/or column variables:
hec[["Male","Hazel"]]
hec[[c("Male","Brown"),]]
hec[[c("Male","Brown"),"Hazel"]]
## a few other operations
t(hec)
dim(hec)
dimnames(hec)
as.matrix(hec)
length(hec)
cbind(hec[,1],hec[,3])
as.vector(hec) ## computed on the _multiway_ table
as.vector(unclass(hec))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.