Experimental lifecycle The function creates a cross table of two categorical variables.

tbl_cross(
  data,
  row = NULL,
  col = NULL,
  label = NULL,
  statistic = 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 columns of cross table.

col

A column name in data to be used for rows 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}%)".

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"

Value

A tbl_cross object

Example Output

Example 1

Example 2

See also

Other tbl_cross tools: add_p.tbl_cross(), inline_text.tbl_cross()

Author

Karissa Whiting, Daniel D. Sjoberg

Examples

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