Skip to contents

Function for making Cross Tables with multiple table styles.

Usage

crosstable(
  data,
  vars,
  group,
  sty = "nejm",
  excl = FALSE,
  cont = "mean",
  pcat = "chisq",
  p_adjust = "none"
)

Arguments

data

The data as a data frame.

vars

The variable(s) that will appear as rows in the cross table.

group

The variable that will appear as columns (groups) in the table.

sty

.

excl

Exclude rows with missing values.

cont

.

pcat

.

p_adjust

Method for adjusting p-values for multiple comparisons across variables. Only available with gtsummary table style.

Value

A results object containing:

results$errorNoticea html
results$dataQualityNoticea html
results$analysisInfoa html
results$subtitlea preformatted
results$todoa html
results$todo2a html
results$tablestyle1a html
results$tablestyle2a html
results$tablestyle3a html
results$tablestyle4a html
results$qvalueExplanationa html
results$testInformationa html

Details

Currently implemented features:

  • Multiple table styles (arsenal, finalfit, gtsummary, NEJM, Lancet, hmisc)

  • Automatic test selection (chi-square, Fisher's exact, t-test, ANOVA)

  • Multiple testing correction (Bonferroni, Holm, Benjamini-Hochberg, Benjamini-Yekutieli)

  • Variable name safety (special characters, spaces)

  • Data quality validation warnings

Note: Advanced features (pairwise comparisons, effect sizes, residual analysis, correspondence analysis) are planned but not yet available.

Examples

# \donttest{
# Example usage:
# dat <- as.data.frame(your_data)
# ClinicoPathDescriptives::crosstable(
#   data = dat,
#   vars = vars(YourRowVariable),
#   group = "YourGroupingVariable",
#   sty = "finalfit",
#   excl = TRUE,
#   cont = "mean",
#   pcat = "chisq"
# )
# }