Package: tabxplor 2.0.1

tabxplor: User-Friendly Tables with Color Helpers for Data Exploration

Make it easy to deal with multiple cross-tables in data exploration, by creating them, manipulating them, and adding color helpers to highlight deviations (differences from totals, comparisons between lines or columns, contributions to variance, odds ratios, etc.) and significance (confidence intervals, stars, etc.). Create the same kind of tables for regression models, with a framework to compare model effects with their crude/observed counterpart systematically. All functions render data frames which can be easily manipulated. All tables can be exported with formats and colors to 'Excel', html and markdown.

Authors:Brice Nocenti [aut, cre]

tabxplor_2.0.1.tar.gz
tabxplor_2.0.1.zip(r-4.7-any)tabxplor_2.0.1.zip(r-4.6-any)tabxplor_2.0.1.zip(r-4.5-any)
tabxplor_2.0.1.tgz(r-4.6-any)tabxplor_2.0.1.tgz(r-4.5-any)
tabxplor_2.0.1.tar.gz(r-4.7-any)tabxplor_2.0.1.tar.gz(r-4.6-any)
tabxplor_2.0.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
tabxplor/json (API)

# Install 'tabxplor' in R:
install.packages('tabxplor', repos = c('https://bricenocenti.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/bricenocenti/tabxplor/issues

Pkgdown/docs site:https://bricenocenti.github.io

Datasets:
  • car_arrests - Marijuana-possession arrests in Toronto, 1997-2002
  • car_salaries - Salaries of US college professors, 2008-09
  • facto_tea - Tea drinkers: when, where and why they drink it
  • questionr_hdv - Histoire de vie: leisure, work and beliefs in France, 2003

On CRAN:

Conda:

6.57 score 2 stars 1 packages 35 scripts 739 downloads 111 exports 34 dependencies

Last updated from:f96ea00605. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develOK290
source / vignettesOK279
linux-releaseOK335
macos-releaseOK275
macos-oldrelOK303
windows-develOK295
windows-releaseOK198
windows-oldrelOK288
wasm-releaseOK137

Exports:as_refcolas_refrowas_totcolas_totrowas_tottabcomplete_partial_totalsconf_level_to_zfct_recode_helperfmtfmt_attrfmt_attr<-fmt_get_color_codeforest_plotget_barsget_captionget_ci_methodget_col_groupget_col_varget_colorget_color_bgget_color_breaksget_color_signifget_color_styleget_comp_allget_digitsget_footer_tabsget_legend_wordsget_model_familyget_numget_pct_typeget_pvalueget_ref_typeget_row_kindget_scaleget_subtextget_testget_typegss_cat_data_formattingis_fmtis_lvlis_refcolis_refrowis_tabis_totcolis_totrowis_tottabjmvtabjmvtabregkable_tabxplor_stylenew_grouped_tabnew_lvlnew_tabreg_check_plotsreg_formulasreg_measuresscore_from_lv1set_barsset_captionset_col_varset_colorset_color_breaksset_color_paletteset_color_signifset_color_styleset_comp_allset_diff_typeset_digitsset_displayset_footer_tabsset_legend_wordsset_model_familyset_numset_pct_typeset_pvalueset_ref_typeset_row_kindset_scaleset_subtextset_typeshape_numeric_vartabtab_chi2tab_citab_columnstab_compacttab_countstab_csstab_exporttab_footer_texttab_get_varstab_get_wrapped_dimensionstab_htmltab_kabletab_manytab_mdtab_notetab_numtab_parallel_stoptab_pcttab_pipetab_plaintab_plottab_preparetab_regtab_spreadtab_structuretab_tottab_totaltabtab_transposetab_wrap_texttab_xl

Dependencies:clicpp11data.tableDBIdplyrforcatsgenericsgluelatticelifecyclemagrittrMASSMatrixminqamitoolsnnetnumDerivpillarpkgconfigpurrrR6RcppRcppArmadillorlangstringistringrsurveysurvivaltibbletidyrtidyselectutf8vctrswithr

Introduction to tabxplor: crosstables with tab()
Your first cross-tables | Colours: reading a table at a glance | Colours that respect significance | Confidence intervals, tests and stars | Batteries of yes/no items, and a score | Sub-tables, and several row variables | The most compact table: one block of columns per group | Weights | Exporting tables | Black and white, for publication | What the cell shows: the display grammar | Which cells make the table interesting? (color = "contrib") | 1. "Which cells build this association?" | 2. "Which cells are notably off, on a scale I can compare?" | Hover tooltips (html tables) | Deviations and their confidence intervals, charted: forest_plot() | Working with the result | Global R options | Where to go next

Last update: 2026-09-17
Started: 2025-09-23

Programming with tabxplor
Getting the plain numbers out | The fields of a cell | Reading and changing fields | Composite display: combining fields | Creating a column from another field | Total rows, reference rows and columns | Column attributes | Knowing what you have before you touch it | Building cells from scratch | Tables from pre-aggregated counts | Pivoting a grouped table into columns | Building many tables at once | Advanced options | See also

Last update: 2026-09-17
Started: 2026-08-29

Reading a regression model without losing sight of the observed data
What we are and are not doing | The words, in plain language | The data | 1. Start from what you can see | 2. Turn a percentage into a comparison | What generalises, and what does not | 3. Hold the other variables equal | Choosing a model: what kind of number is the outcome? | What can I ask of this outcome? | The bridge: the observed column is the cross-table | Reading a row from left to right | A predictor with no levels | The reference profile | 4. Come back to something you can say | One model, four readings | A marginal effect is a deviation averaged over the sample | Which one to report | For whom? — effect, and the ideal type | 5. Studying what the adjustment did | The five things adjustment can do | Watching it move, one block at a time | Colouring the movement | 6. What the model cannot settle | "All else equal" is a sentence about your table | Adjusting away the thing you are studying | When adjustment reverses the answer | When the movement is arithmetic and not confounding | Three ways to get this wrong | Where to go next | Where these ideas come from

Last update: 2026-09-17
Started: 2026-08-29

Regression models with tab_reg(): reference
1. What a regression table is | The outcome's type chooses the model and the observed quantity to compare with | Every outcome has an observed counterpart | An ordered outcome: what changes when you adjust | A nominal outcome: the crude number rides in the cell | A summed score | How to read it — and how not to | 2. The four arguments: family, link, measure, effect | The four arguments, in plain words | Which model an outcome can be fitted with | What each measure reports, from any of them | What the header words mean | The one argument that changes the model: link | Caveats worth knowing | Asking your own outcome | 3. One part per kind of outcome | Logistic regression (a binary factor) | Reading the same model in another measure | Percentage points: measure = "difference" | "How many times as likely?": measure = "ratio" | The odds ratio, made comparable: measure = "odds_ratio" on a prediction route | The other risk ratio: link = "ratio" | Linear regression (a numeric outcome) | Poisson regression (a count outcome) | Grouped-binomial outcomes (a summed score) | Ordinal and nominal outcomes (a factor with 3+ levels) | 4. Reading what adjustment did | Colouring what adjustment did | One warning about odds ratios | Is the gap bigger than noise? | For the record: what exactly is tested | 5. Shaping the table | Fine-tuning the display, and scaling a predictor | The reference a predictor's effect is measured from | Interactions: one predictor's effect depending on another | A continuous predictor: slopes within groups | The scale carries the interaction | Three ways to get this wrong | Comparing several models | The same model within sub-populations | Weighted and survey data | 6. Checking the model | Reading the footer statistics | The five model checks | The shape of a continuous predictor | Curing a shape | The check plots: reg_check_plots() | 7. Plots | The results: forest_plot() | Observed versus modelled, drawn honestly | Where to go next

Last update: 2026-09-17
Started: 2026-08-29

Weighted and survey data
Level 1 — weighted percentages, plain margins of error (the default) | Level 2 — design_effect = TRUE | Level 3 — a survey design | What level 2 can and cannot do for you | Regression on weighted data | Why a weighted tab_reg() is not a weighted tab() | The fine print | Where to go next

Last update: 2026-08-29
Started: 2026-08-29

Readme and manuals

Help Manual

Help pageTopics
Marijuana-possession arrests in Toronto, 1997-2002car_arrests
Salaries of US college professors, 2008-09car_salaries
Convert confidence levels into z thresholdsconf_level_to_z
Tea drinkers: when, where and why they drink itfacto_tea
Write the code to recode several factorsfct_recode_helper
Create an 'fmt' vector, the tabxplor cellfmt is_fmt
Read or write one 'fmt' column attribute, by namefmt_attr fmt_attr<-
Per-column attributes of a 'fmt' vectoras_refcol as_totcol fmt_attributes get_ci_method get_color get_color_bg get_color_signif get_col_group get_col_var get_comp_all get_model_family get_pct_type get_ref_type get_scale is_refcol is_totcol set_color set_color_signif set_col_var set_comp_all set_diff_type set_model_family set_pct_type set_ref_type set_scale
Per-cell fields of a 'fmt' vectoras_refrow as_totrow as_tottab fmt_fields get_digits get_num get_pvalue get_row_kind is_refrow is_totrow is_tottab set_digits set_display set_num set_pvalue set_row_kind
The html color code of a 'fmt' vectorfmt_get_color_code
Forest plot of any tabxplor tableforest_plot
Read a table's statistical testsget_test
A General Social Survey extract, formatted for cross-tablesgss_cat_data_formatting
Is this a tabxplor table?is_tab
Crosstablesjmvtab
Regressionsjmvtabreg
Build a 'tabxplor_tab' around 'fmt' columnsnew_grouped_tab new_tab
Histoire de vie: leisure, work and beliefs in France, 2003questionr_hdv
Diagnostic plots of a regression modelreg_check_plots
The model formulas a regression table fittedreg_formulas
What can this outcome be modelled as?reg_measures
Score a set of factors by counting their first levelscore_from_lv1
Draw a column as data barsget_bars set_bars
Store a caption on a tableget_caption set_caption
Colours: palettes, styles and breaksget_color_breaks get_color_style set_color_breaks set_color_palette set_color_style
Attach subordinate tables under a tableget_footer_tabs set_footer_tabs
Re-state what the colour legend calls a measureget_legend_words set_legend_words
The lines printed under a tableget_subtext set_subtext
Cut or transform a numeric variableshape_numeric_var
Cross-tables with color helperstab
Every 'fmt' column of a table, and what it carriestab_columns
Bind a list of tables into onetab_compact
Cross-tables from already-aggregated countstab_counts
The stylesheet an html table needstab_css
Export a table to html, Excel or Markdown (wrapper)tab_export
Read the footer a table would printtab_footer_text
Render a table as htmltab_html tab_kable
Many cross-tables as one, with color helperstab_many
Render a table as Markdowntab_md
A note under a tabletab_note
Means tabletab_num
Stop the tabxplor parallel worker pooltab_parallel_stop
Render a table as a plain pipe tabletab_pipe
Plain single cross-tabletab_plain
All-in-one tables for regressions, with each modelled effect beside its observed onetab_reg
Turn a sub-table variable into columnstab_spread
The structure of a tabletab_structure
Swap the rows and columns of a cross-tabletab_transpose
Wrap column names and long labelstab_wrap_text
Write a table to an Excel workbooktab_xl
Hand a table to base Ras.matrix.tabxplor_tab as.table.tabxplor_tab tabxplor-base-coercion
What a table cell shows: the display grammartabxplor-display
The lines under a tabletabxplor-footer
The tabxplor options, and their defaultstabxplor-options tabxplor.options
Column types, the tabxplor 1.x spellingget_type set_type tabxplor-type