Enhanced Cross Tables with danchaltiel/crosstable
Source:R/enhancedcrosstable.h.R
enhancedcrosstable.Rd
Enhanced cross-tabulation analysis using the danchaltiel/crosstable package for advanced clinical research functionality.
Usage
enhancedcrosstable(
data,
vars,
by_var,
percent_pattern = "col_percent",
show_total = TRUE,
show_total_row = TRUE,
test_auto = TRUE,
effect_size = FALSE,
funs_arg = "mean_sd",
digits = 2,
use_labels = TRUE,
exclude_missing = TRUE,
show_n_col = TRUE,
margin = "column",
cor_method = "pearson",
showNA = "no",
compact = FALSE,
export_format = "html",
show_interpretation = TRUE
)
Arguments
- data
The data as a data frame.
- vars
Variables to include in the cross-tabulation (table rows).
- by_var
The grouping variable for cross-tabulation (table columns).
- percent_pattern
Pattern for displaying counts and percentages.
- show_total
Whether to include a total column.
- show_total_row
Whether to include a total row.
- test_auto
Whether to automatically select and perform statistical tests.
- effect_size
Whether to calculate effect sizes (Cramer's V, odds ratios, etc.).
- funs_arg
Function for summarizing continuous variables.
- digits
Number of decimal places for numeric results.
- use_labels
Whether to use variable labels if available.
- exclude_missing
Whether to exclude missing values from calculations.
- show_n_col
Whether to show sample sizes for each column.
- margin
Margin for calculating percentages.
- cor_method
Correlation method for continuous variables.
- showNA
Whether and when to show missing values in the table.
- compact
Whether to use compact table formatting.
- export_format
Format for table export and display.
- show_interpretation
Whether to include interpretation of statistical results.
Value
A results object containing:
results$instructions | a html | ||||
results$crosstable_main | a html | ||||
results$statistics_table | a html | ||||
results$effect_sizes | a html | ||||
results$interpretation | a html | ||||
results$export_data | a html | ||||
results$summary_stats | a html |
Examples
# \donttest{
# Example usage:
library(crosstable)
#> Warning: package ‘crosstable’ was built under R version 4.3.3
#>
#> Attaching package: ‘crosstable’
#> The following object is masked from ‘package:ClinicoPath’:
#>
#> crosstable
# Enhanced crosstable with tidyselect
crosstable(data, c(var1, var2), by = group_var)
#> Error in base::tryCatch(base::withCallingHandlers({ NULL base::saveRDS(base::do.call(base::do.call, base::c(base::readRDS("/var/folders/cd/2ybg5n514bdfsg2n2wnsspmw0000gn/T//RtmplvSg0q/callr-fun-fcbc2ddda66c"), base::list(envir = .GlobalEnv, quote = TRUE)), envir = .GlobalEnv, quote = TRUE), file = "/var/folders/cd/2ybg5n514bdfsg2n2wnsspmw0000gn/T//RtmplvSg0q/callr-res-fcbc32d913fa", compress = FALSE) base::flush(base::stdout()) base::flush(base::stderr()) NULL base::invisible()}, error = function(e) { { callr_data <- base::as.environment("tools:callr")$`__callr_data__` err <- callr_data$err if (FALSE) { base::assign(".Traceback", base::.traceback(4), envir = callr_data) utils::dump.frames("__callr_dump__") base::assign(".Last.dump", .GlobalEnv$`__callr_dump__`, envir = callr_data) base::rm("__callr_dump__", envir = .GlobalEnv) } e <- err$process_call(e) e2 <- err$new_error("error in callr subprocess") class <- base::class class(e2) <- base::c("callr_remote_error", class(e2)) e2 <- err$add_trace_back(e2) cut <- base::which(e2$trace$scope == "global")[1] if (!base::is.na(cut)) { e2$trace <- e2$trace[-(1:cut), ] } base::saveRDS(base::list("error", e2, e), file = base::paste0("/var/folders/cd/2ybg5n514bdfsg2n2wnsspmw0000gn/T//RtmplvSg0q/callr-res-fcbc32d913fa", ".error")) }}, interrupt = function(e) { { callr_data <- base::as.environment("tools:callr")$`__callr_data__` err <- callr_data$err if (FALSE) { base::assign(".Traceback", base::.traceback(4), envir = callr_data) utils::dump.frames("__callr_dump__") base::assign(".Last.dump", .GlobalEnv$`__callr_dump__`, envir = callr_data) base::rm("__callr_dump__", envir = .GlobalEnv) } e <- err$process_call(e) e2 <- err$new_error("error in callr subprocess") class <- base::class class(e2) <- base::c("callr_remote_error", class(e2)) e2 <- err$add_trace_back(e2) cut <- base::which(e2$trace$scope == "global")[1] if (!base::is.na(cut)) { e2$trace <- e2$trace[-(1:cut), ] } base::saveRDS(base::list("error", e2, e), file = base::paste0("/var/folders/cd/2ybg5n514bdfsg2n2wnsspmw0000gn/T//RtmplvSg0q/callr-res-fcbc32d913fa", ".error")) }}, callr_message = function(e) { base::try(base::signalCondition(e))}), error = function(e) { NULL if (FALSE) { base::try(base::stop(e)) } else { base::invisible() }}, interrupt = function(e) { NULL if (FALSE) { e } else { base::invisible() }}): 1 assertions failed:
#> * Variable 'data': Must be of type 'data.frame', not 'closure'.
# Formula interface
crosstable(data, c(age_group = age > 65), by = treatment)
#> Error in base::tryCatch(base::withCallingHandlers({ NULL base::saveRDS(base::do.call(base::do.call, base::c(base::readRDS("/var/folders/cd/2ybg5n514bdfsg2n2wnsspmw0000gn/T//RtmplvSg0q/callr-fun-fcbc2ddda66c"), base::list(envir = .GlobalEnv, quote = TRUE)), envir = .GlobalEnv, quote = TRUE), file = "/var/folders/cd/2ybg5n514bdfsg2n2wnsspmw0000gn/T//RtmplvSg0q/callr-res-fcbc32d913fa", compress = FALSE) base::flush(base::stdout()) base::flush(base::stderr()) NULL base::invisible()}, error = function(e) { { callr_data <- base::as.environment("tools:callr")$`__callr_data__` err <- callr_data$err if (FALSE) { base::assign(".Traceback", base::.traceback(4), envir = callr_data) utils::dump.frames("__callr_dump__") base::assign(".Last.dump", .GlobalEnv$`__callr_dump__`, envir = callr_data) base::rm("__callr_dump__", envir = .GlobalEnv) } e <- err$process_call(e) e2 <- err$new_error("error in callr subprocess") class <- base::class class(e2) <- base::c("callr_remote_error", class(e2)) e2 <- err$add_trace_back(e2) cut <- base::which(e2$trace$scope == "global")[1] if (!base::is.na(cut)) { e2$trace <- e2$trace[-(1:cut), ] } base::saveRDS(base::list("error", e2, e), file = base::paste0("/var/folders/cd/2ybg5n514bdfsg2n2wnsspmw0000gn/T//RtmplvSg0q/callr-res-fcbc32d913fa", ".error")) }}, interrupt = function(e) { { callr_data <- base::as.environment("tools:callr")$`__callr_data__` err <- callr_data$err if (FALSE) { base::assign(".Traceback", base::.traceback(4), envir = callr_data) utils::dump.frames("__callr_dump__") base::assign(".Last.dump", .GlobalEnv$`__callr_dump__`, envir = callr_data) base::rm("__callr_dump__", envir = .GlobalEnv) } e <- err$process_call(e) e2 <- err$new_error("error in callr subprocess") class <- base::class class(e2) <- base::c("callr_remote_error", class(e2)) e2 <- err$add_trace_back(e2) cut <- base::which(e2$trace$scope == "global")[1] if (!base::is.na(cut)) { e2$trace <- e2$trace[-(1:cut), ] } base::saveRDS(base::list("error", e2, e), file = base::paste0("/var/folders/cd/2ybg5n514bdfsg2n2wnsspmw0000gn/T//RtmplvSg0q/callr-res-fcbc32d913fa", ".error")) }}, callr_message = function(e) { base::try(base::signalCondition(e))}), error = function(e) { NULL if (FALSE) { base::try(base::stop(e)) } else { base::invisible() }}, interrupt = function(e) { NULL if (FALSE) { e } else { base::invisible() }}): 1 assertions failed:
#> * Variable 'data': Must be of type 'data.frame', not 'closure'.
# }