The function creates a cross table of two categorical variables.

```
tbl_cross(
data,
row = NULL,
col = NULL,
label = NULL,
statistic = NULL,
digits = NULL,
percent = c("none", "column", "row", "cell"),
margin = c("column", "row"),
missing = c("ifany", "always", "no"),
missing_text = "Unknown",
margin_text = "Total"
)
```

## Arguments

- data
A data frame

- row
A column name in `data=`

to be used for the rows of cross table.

- col
A column name in `data=`

to be used for the columns of cross table.

- label
List of formulas specifying variables labels,
e.g. `list(age ~ "Age", stage ~ "Path T Stage")`

. If a
variable's label is not specified here, the label attribute
(`attr(data$age, "label")`

) is used. If
attribute label is `NULL`

, the variable name will be used.

- statistic
A string with the statistic name in curly brackets to
be replaced with the numeric statistic (see glue::glue).
The default is `{n}`

. If percent argument is `"column"`

, `"row"`

, or `"cell"`

,
default is `"{n} ({p}%)"`

.

- digits
Specifies the number of decimal
places to round the summary statistics. By default integers are shown
to the zero decimal places, and percentages are formatted with `style_percent()`

.
If you would like to modify either of these, pass a vector of integers
indicating the number of decimal places to round the statistics.
For example, if the
statistic being calculated is `"{n} ({p}%)"`

and you want the percent rounded
to 2 decimal places use `digits = c(0, 2)`

. User
may also pass a styling function: `digits = style_sigfig`

- percent
Indicates the type of percentage to return.
Must be one of "none", "column", "row", or "cell". Default is "cell" when
`{N}`

or `{p}`

is used in statistic.

- margin
Indicates which margins to add to the table.
Default is `c("row", "column")`

. Use `margin = NULL`

to suppress both
row and column margins.

- missing
Indicates whether to include counts of `NA`

values in the table.
Allowed values are `"no"`

(never display NA values),
`"ifany"`

(only display if any NA values), and `"always"`

(includes NA count row for all variables). Default is `"ifany"`

.

- missing_text
String to display for count of missing observations.
Default is `"Unknown"`

.

- margin_text
Text to display for margin totals. Default is `"Total"`

## Example Output

Example 1

Example 2

## Author

Karissa Whiting, Daniel D. Sjoberg

## Examples

```
# \donttest{
# Example 1 ----------------------------------
tbl_cross_ex1 <-
trial %>%
tbl_cross(row = trt, col = response) %>%
bold_labels()
# Example 2 ----------------------------------
tbl_cross_ex2 <-
trial %>%
tbl_cross(row = stage, col = trt, percent = "cell") %>%
add_p() %>%
bold_labels()
# }
```