## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----setup-------------------------------------------------------------------- library(tabxplor) set_color_style(type = "text", theme = "light") ## ----echo = FALSE, include = FALSE-------------------------------------------- options(crayon.enabled = TRUE) knitr::knit_hooks$set(output = function(x, options){ paste0( '
',
    fansi::sgr_to_html(x = htmltools::htmlEscape(x), warn = FALSE),
    '
' ) }) num_colors <- function(forget = TRUE) 256 library(crayon) assignInNamespace("num_colors", num_colors, pos = "package:crayon") ## ----echo = TRUE-------------------------------------------------------------- tab(forcats::gss_cat, marital, race) ## ----include = FALSE---------------------------------------------------------- options(tabxplor.output_kable = TRUE) ## ----echo = TRUE-------------------------------------------------------------- data <- forcats::gss_cat %>% dplyr::filter(year %in% c(2000, 2006, 2012), !marital %in% c("No answer", "Widowed")) gss <- "Source: General social survey 2000-2014" gss2 <- "Source: General social survey 2000, 2006 and 2012" tab(data, race, marital, year, subtext = gss2, pct = "row", color = "diff") ## ----echo = TRUE-------------------------------------------------------------- tab(dplyr::storms, category, status, sup_cols = c("pressure", "wind")) ## ----echo = TRUE-------------------------------------------------------------- tab(data, race, marital, year, subtext = gss2, pct = "row", color = "diff", comp = "all") ## ----echo = TRUE-------------------------------------------------------------- data <- data %>% dplyr::mutate(year = as.factor(year)) tab(data, year, marital, race, pct = "row", color = "diff", ref = "first", tot = "col", totaltab = "table") ## ----echo = TRUE-------------------------------------------------------------- tab(data, year, marital, race, pct = "row", color = "diff", ref = 3) ## ----echo = TRUE-------------------------------------------------------------- tab(data, year, marital, race, pct = "col", tot = "row", color = "diff", ref = "Married") ## ----echo = TRUE-------------------------------------------------------------- tab(forcats::gss_cat, race, marital, pct = "row", ci = "cell") ## ----echo = TRUE-------------------------------------------------------------- tab(forcats::gss_cat, race, marital, pct = "row", color = "diff_ci") ## ----echo = TRUE-------------------------------------------------------------- tab(forcats::gss_cat, race, marital, subtext = gss, pct = "row", color = "after_ci") ## ----echo = TRUE-------------------------------------------------------------- tab(forcats::gss_cat, race, marital, chi2 = TRUE) ## ----echo = TRUE-------------------------------------------------------------- tab(forcats::gss_cat, race, marital, color = "contrib") ## ----include = FALSE---------------------------------------------------------- options(tabxplor.output_kable = FALSE) ## ----echo = TRUE, message = FALSE--------------------------------------------- library(dplyr) first_lvs <- c("Married", "$25000 or more", "Strong republican", "Protestant") data <- forcats::gss_cat %>% mutate(across( where(is.factor), ~ forcats::fct_relevel(., first_lvs[first_lvs %in% levels(.)]) )) tabs <- tab_many(data, race, c(marital, rincome, partyid, relig, age, tvhours), levels = "first", pct = "row", chi2 = TRUE, color = "auto") tabs ## ----echo = TRUE-------------------------------------------------------------- tabs %>% tab_kable() ## ----------------------------------------------------------------------------- tabs <- tab(data, race, marital, year, pct = "row") tabs %>% mutate(across(where(is_fmt), get_num)) ## ----------------------------------------------------------------------------- vctrs::vec_data(tabs$Married) ## ----echo = TRUE, message = FALSE--------------------------------------------- tab_num(data, race, c(age, tvhours), marital, digits = 1L, comp = "all") |> dplyr::mutate(dplyr::across( #Mutate over the whole table. c(age, tvhours), ~ dplyr::mutate(., #Mutate over each fmt vector's underlying data.frame. var = sqrt(var), display = "var", digits = 2L) |> set_color("no"), .names = "{.col}_sd" )) ## ----echo = TRUE, message = FALSE--------------------------------------------- tab(data, race, marital, year, pct = "row") %>% dplyr::mutate(across( where(is_fmt), ~ dplyr::if_else(is_totrow(.), true = mutate(., digits = 1L), false = mutate(., digits = 2L)) )) ## ----echo = TRUE, message = FALSE--------------------------------------------- tab(data, race, marital, year, pct = "row") %>% mutate(across(where(is_totcol), ~ mutate(., display = "n") ))