Structured Contingency Tables
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.
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.
doi: 10.18637/jss.v017.i03 and available as
vignette("strucplot")
.
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))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.