tab_plain: Plain single cross-table

tab_plainR Documentation

Plain single cross-table

Description

Plain single cross-table

Usage

tab_plain(
  data,
  row_var,
  col_var,
  tab_vars,
  wt,
  pct = "no",
  color = "no",
  OR = "no",
  na = "keep",
  ref = "auto",
  ref2 = "first",
  comp = "tab",
  totaltab = "line",
  totaltab_name = "Ensemble",
  tot = NULL,
  total_names = "Total",
  subtext = "",
  digits = 0,
  num = FALSE,
  df = FALSE
)

Arguments

data

A data frame.

row_var, col_var

The row variable, which will be printed with one level per line, and the column variable, which will be printed with one level per column. Numeric variables will be used as factors. To calculate means, use tab_num.

tab_vars

<tidy-select> Tab variables : a subtable is made for each combination of levels of the selected variables. Leave empty to make a simple cross-table. All tab variables are converted to factor.

wt

A weight variable, of class numeric. Leave empty for unweighted results.

pct

The type of percentages to calculate :

  • "row": row percentages.

  • "col": column percentages.

  • "all": frequencies for each subtable/group, if there is tab_vars.

  • "all_tabs": frequencies for the whole (set of) table(s).

color

The type of colors to print, as a single string :

  • "no": by default, no colors are printed.

  • "diff": color percentages and means based on cells differences from totals (or from first cells when ref = "first").

  • "OR": for pct == "col" or pct == "row", color based on odds ratios (or relative risks ratios)

OR

With pct = "row" or pct = "col", calculate and print odds ratios (for binary variables) or relative risks ratios (for variables with 3 levels or more).

  • "no": by default, no OR are calculated.

  • "OR": print OR (instead of percentages).

  • "OR_pct": print OR, with percentages in bracket.

na

The policy to adopt with missing values, as a single string.

  • "keep": by default, NA's of row, col and tab variables are printed as explicit "NA" level.

  • "drop": removes NA of row, col and tab variables.

ref

The reference cell to calculate differences and ratios (used to print colors) :

  • "auto": by default, cell difference from the corresponding total (rows or cols depending on pct = "row" or pct = "col") is used for diff ; cell ratio from the first line (or col) is use for OR (odds ratio/relative risks ratio).

  • "tot": totals are always used.

  • "first": calculate cell difference or ratio from the first cell of the row or column (useful to color temporal developments).

  • n: when ref is an integer, the nth row (or column) is used for comparison.

  • "regex": when ref is a string, it it used as a regular expression, to match with the names of the rows (or columns). Be precise enough to match only one column or row, otherwise you get a warning message.

  • "no": not use ref and not calculate diffs to gain calculation time.

ref2

A second reference cell is needed to calculate odds ratios (or relative risks ratios). The first cell of the row or column is used by default. See ref above for the full list of possible values.

comp

Comparison level. When tab_vars are present, should the contributions to variance be calculated for each subtable/group (by default, comp = "tab") ? Should they be calculated for the whole table (comp = "all") ? comp must be set once and for all the first time you use tab_plain, tab_num or tab_chi2 with rows, or tab_ci.

totaltab

The total table, if there are subtables/groups (i.e. when tab_vars is provided) :

  • "line": by default, add a general total line (necessary for calculations with comp = "all")

  • "table": add a complete total table (i.e. row_var by col_vars without tab_vars).

  • "no": not to draw any total table.

totaltab_name

The name of the total table, as a single string.

tot

The totals :

  • c("col", "row") or "both" : by default, both total rows and total columns.

  • "row": only total rows.

  • "col": only total column.

  • "no": remove all totals (after calculations if needed).

total_names

The names of the totals, as a character vector of length one or two. Use syntax of type c("Total row", "Total column") to set different names for rows and cols.

subtext

A character vector to print rows of legend under the table.

digits

The number of digits to print, as a single integer.

num

Set to TRUE to obtain a table with normal numeric vectors (not fmt).

df

Set to TRUE to obtain a plain data.frame (not a tibble), with normal numeric vectors (not fmt). Useful, for example, to pass the table to correspondence analysis with FactoMineR.

Value

A tibble of class tabxplor_tab. If ... (tab_vars) are provided, a tab of class tabxplor_grouped_tab. All non-text columns are fmt vectors of class tabxplor_fmt, storing all the data necessary to print formats and colors. Columns with row_var and tab_vars are of class factor : every added factor will be considered as a tab_vars and used for grouping. To add text columns without using them in calculations, be sure they are of class character.

Examples

# A typical workflow with tabxplor step-by-step functions :

data <- dplyr::starwars %>% tab_prepare(sex, hair_color)

data %>%
  tab_plain(sex, hair_color, tot = c("row", "col"), pct = "row") %>%
  tab_chi2() %>%
  tab_ci(color = "after_ci")


BriceNocenti/tablr documentation built on April 12, 2025, 12:56 a.m.