# ftable.formula

##### Formula Notation for Flat Contingency Tables

Produce or manipulate a flat contingency table using formula notation.

- Keywords
- category

##### Usage

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

##### Arguments

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

- data
a data frame, list or environment (or similar: see

`model.frame`

) containing the variables to be cross-tabulated, or a contingency table (see below).- subset
an optional vector specifying a subset of observations to be used. Ignored if

`data`

is a contingency table.- na.action
a function which indicates what should happen when the data contain

`NA`

s. Ignored if`data`

is a contingency table.- …
further arguments to the default ftable method may also be passed as arguments, see

`ftable.default`

.

##### Details

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`

.

##### Value

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

##### Examples

`library(stats)`

```
# NOT RUN {
Titanic
x <- ftable(Survived ~ ., data = Titanic)
x
ftable(Sex ~ Class + Age, data = x)
# }
```

*Documentation reproduced from package stats, version 3.5.0, License: Part of R 3.5.0*