Formula Notation for Flat Contingency Tables


Produce or manipulate a flat contingency table using formula notation.


## S3 method for class 'formula'
ftable(formula, data = NULL, subset, na.action, ...)



a formula object with both left and right hand sides specifying the column and row variables of the flat table.


a data frame, list or environment (or similar: see model.frame) containing the variables to be cross-tabulated, or a contingency table (see below).


an optional vector specifying a subset of observations to be used. Ignored if data is a contingency table.


a function which indicates what should happen when the data contain NAs. Ignored if data is a contingency table.


further arguments to the default ftable method may also be passed as arguments, see ftable.default.


This is a method of the generic function ftable.

The left and right hand side of formula specify the column and row variables, respectively, of the flat contingency table to be created. Only the + operator is allowed for combining the variables. A . may be used once in the formula to indicate inclusion of all the remaining variables.

If data is an object of class "table" or an array with more than 2 dimensions, it is taken as a contingency table, and hence all entries should be nonnegative. Otherwise, if it is not a flat contingency table (i.e., an object of class "ftable"), it should be a data frame or matrix, list or environment containing the variables to be cross-tabulated. In this case, na.action is applied to the data to handle missing values, and, after possibly selecting a subset of the data as specified by the subset argument, a contingency table is computed from the variables.

The contingency table is then collapsed to a flat table, according to the row and column variables specified by formula.


A flat contingency table which contains the counts of each combination of the levels of the variables, collapsed into a matrix for suitably displaying the counts.

See Also

ftable, ftable.default; table.


x <- ftable(Survived ~ ., data = Titanic)
ftable(Sex ~ Class + Age, data = x)

Want to suggest features or report bugs for Use the GitHub issue tracker. Vote for new features on Trello.

comments powered by Disqus