The function creates a cross table of categorical variables.
Arguments
- data
(
data.frame
)
A data frame.- row
(
tidy-select
)
Column name indata
to be used for the rows of cross table. Default is the first column indata
.- col
(
tidy-select
)
Column name indata
to be used for the columns of cross table. Default is the second column indata
.- label
(
formula-list-selector
)
Used to override default labels in summary table, e.g.list(age = "Age, years")
. The default for each variable is the column label attribute,attr(., 'label')
. If no label has been set, the column name is used.- statistic
(
string
)
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
(
numeric
/list
/function
)
Specifies the number of decimal places to round the summary statistics. This argument is passed totbl_summary(digits = ~digits)
. By default integers are shown to the zero decimal places, and percentages are formatted withstyle_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 usedigits = c(0, 2)
. User may also pass a styling function:digits = style_sigfig
- percent
(
string
)
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
(
character
)
Indicates which margins to add to the table. Default isc("row", "column")
. Usemargin = NULL
to suppress both row and column margins.- missing
(
string
)
Must be one ofc("ifany", "no", "always")
.- missing_text
(
string
)
String indicating text shown on missing row. Default is"Unknown"
- margin_text
(
string
)
Text to display for margin totals. Default is"Total"
Examples
# Example 1 ----------------------------------
trial |>
tbl_cross(row = trt, col = response) |>
bold_labels()
0
1
Unknown
# Example 2 ----------------------------------
trial |>
tbl_cross(row = stage, col = trt, percent = "cell") |>
add_p() |>
bold_labels()
Drug A
Drug B
1 Pearson’s Chi-squared test