
Last chance! 50% off unlimited learning
Sale ends in
## S3 method for class 'formula':
structable(formula, data,
direction = NULL, split_vertical = NULL, \dots, subset, na.action)
## S3 method for class 'default':
structable(\dots, direction = NULL, split_vertical = FALSE)
table
.data
is a contingency table.NA
s.
Ignored if data
is a contingency table"table"
or "ftable"
.FALSE
). Values are recycled as needed.
If the argument is of length 1, the value is alternated
for all dimensions. Ignored i"h"
for horizontal and "v"
for
vertical splits). Values are recycled as needed. If the argument
is of length 1, the value is alternated for all dime"structable"
,
inheriting from class "ftable"
, with the splitting
information ("split_vertical"
) as additional attribute.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 subsetted using the [
and [[
operators, using either level indices or names (see
examples). The corresponsing replacement functions are available as well. In
addition, appropriate cbind
,
rbind
, length
, dim
, and
is.na
methods do exist.
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))
Run the code above in your browser using DataLab