Enhanced Tables with gt Package - Professional Clinical Research
Publication-ready tables with advanced formatting and clinical research optimization
ClinicoPath
2025-07-13
Source:vignettes/clinicopath-descriptives-14-enhancedtables.Rmd
clinicopath-descriptives-14-enhancedtables.Rmd
Introduction to Enhanced Tables with gt
The enhancedtables
function in ClinicoPath leverages the
powerful gt package to create professional, publication-ready tables
with advanced formatting capabilities. This module transforms standard
data summaries into sophisticated tables suitable for medical journals,
regulatory submissions, and clinical presentations. The integration
provides comprehensive styling options, automated statistical summaries,
and clinical research-specific optimizations.
What Makes Enhanced Tables Special?
Advanced Table Creation
- gt Package Integration: Full integration with the grammar of tables for professional formatting
- Multiple Table Types: Summary, grouped, clinical characteristics, Table One, and custom formats
- Six Professional Themes: Clinical, publication, modern, traditional, minimal, and journal styles
- Statistical Integration: Automated statistical summaries and group comparisons
- Export Flexibility: HTML, Word, LaTeX, and RTF export options
Clinical Research Focus
- Publication Standards: Tables formatted for medical journal requirements
- Regulatory Compliance: Output suitable for FDA, EMA, and other regulatory submissions
- Statistical Rigor: Appropriate statistical summaries and test selection
- Professional Appearance: High-quality formatting for presentations and reports
When to Use Enhanced Tables
Perfect for: - Clinical trial baseline characteristic tables (Table 1) - Summary statistics for manuscript preparation - Regulatory submission documentation - Conference presentation materials - Multi-center study reports - Biostatistical analysis summaries
Key Advantages: - Superior formatting compared to basic data frames - Automated statistical summary generation - Professional themes designed for medical research - Comprehensive export options for various publication formats - Clinical interpretation and usage guidelines
Getting Started
Installation Requirements
The enhanced tables functionality requires the gt
package and supporting packages:
# Install core gt package
install.packages("gt")
# For enhanced export functionality
install.packages(c("officer", "webshot2"))
# Supporting packages (automatically handled)
install.packages(c("dplyr", "tidyr", "janitor", "stringr"))
Basic Syntax and Options
Enhanced Tables vs Standard Tables
# Standard R table
summary(histopathology[c("Age", "Sex", "Grade_Level")])
# Enhanced tables with gt integration
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "Grade_Level"),
table_type = "summary",
table_theme = "clinical",
export_format = "html"
)
Key Differences
- Professional Formatting: Publication-ready appearance with customizable themes
- Statistical Summaries: Comprehensive statistics for both continuous and categorical variables
- Clinical Optimization: Designed specifically for medical research applications
- Export Flexibility: Multiple output formats for different publication needs
Clinical Research Applications
Example 1: Baseline Characteristics Table (Table 1)
This example demonstrates creating a comprehensive Table 1 for clinical trial baseline characteristics:
library(ClinicoPath)
# Load the histopathology dataset
data("histopathology")
# Create Table 1 with enhanced formatting
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "Race", "Grade_Level", "LVI", "PNI", "OverallTime"),
table_type = "tableone",
table_theme = "clinical",
stats_continuous = "mean_sd",
stats_categorical = "n_percent",
include_total = TRUE,
table_title = "Table 1. Baseline Characteristics",
table_subtitle = "Clinical and pathological features of study participants",
show_interpretation = TRUE
)
Clinical Features: - Automatic Table 1 formatting with “Overall (N = X)” column - Professional clinical theme with appropriate fonts and spacing - Mean ± SD for continuous variables, N (%) for categorical variables - Comprehensive sample size reporting - Clinical interpretation guidelines included
Example 2: Grouped Analysis by Treatment
Analyzing characteristics across treatment groups with statistical comparisons:
# Grouped analysis with statistical testing
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "Grade_Level", "LVI", "PNI", "OverallTime"),
group_var = "Group",
table_type = "grouped",
table_theme = "publication",
include_pvalues = TRUE,
test_type = "auto",
highlight_significant = TRUE,
confidence_level = 0.95,
table_title = "Baseline Characteristics by Treatment Group",
export_format = "word"
)
Advanced Features: - Automatic statistical test selection (t-test, chi-square, etc.) - P-value calculation and highlighting of significant results - Publication theme optimized for journal submission - Word-compatible export for manuscript preparation - Confidence interval reporting
Example 3: Clinical Characteristics Summary
Creating a comprehensive clinical summary table:
# Clinical characteristics with comprehensive statistics
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "Grade_Level", "TStage", "LVI", "PNI", "Mortality5yr"),
table_type = "clinical",
table_theme = "journal",
stats_continuous = "both",
stats_categorical = "n_percent_missing",
missing_handling = "show",
show_footnotes = TRUE,
decimal_places = 1,
source_note = "Data from institutional pathology database"
)
Clinical Optimization: - Both mean ± SD and median [IQR] for continuous variables - Missing value transparency with counts - Journal-style formatting for publication - Comprehensive footnotes explaining statistical methods - Source documentation for data provenance
Advanced Features and Customization
Table Types and Formatting
The enhanced tables module offers six distinct table types optimized for different clinical applications:
Table Type Options
-
summary
: General summary statistics for selected variables -
grouped
: Grouped analysis with statistical comparisons -
descriptive
: Comprehensive descriptive overview -
clinical
: Clinical characteristics format -
tableone
: Standard Table 1 format for baseline characteristics -
custom
: User-defined formatting options
Professional Applications
# Summary table for exploratory analysis
enhancedtables(
data = histopathology,
vars = c("Age", "OverallTime", "Grade_Level"),
table_type = "summary",
table_theme = "minimal"
)
# Clinical characteristics for case series
enhancedtables(
data = histopathology,
vars = c("Sex", "Age", "TStage", "Grade_Level", "Outcome"),
table_type = "clinical",
table_theme = "clinical",
stats_continuous = "median_iqr"
)
Theme System and Visual Customization
The enhanced tables module provides six professional themes designed for different publication contexts:
Available Themes
-
clinical
: Healthcare-focused with clean, readable formatting -
publication
: Optimized for academic journal submission -
modern
: Contemporary design with accent colors -
traditional
: Conservative formatting for formal reports -
minimal
: Clean, uncluttered appearance -
journal
: Specific formatting for medical journals
Theme Applications
# Clinical research presentation
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "Grade_Level"),
table_theme = "clinical",
font_size = "large",
stripe_rows = TRUE,
group_colors = TRUE
)
# Journal manuscript submission
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "Grade_Level"),
table_theme = "publication",
font_size = "normal",
stripe_rows = FALSE,
table_width = "full"
)
Statistical Summary Options
Comprehensive statistical summary options for different variable types:
Continuous Variables
-
mean_sd
: Mean ± Standard Deviation -
median_iqr
: Median [Interquartile Range] -
both
: Mean ± SD, Median [IQR] -
mean_sd_range
: Mean ± SD with Min-Max range -
all
: Comprehensive statistics including all measures
Categorical Variables
-
n_percent
: Count (Percentage) -
n_only
: Count only -
percent_only
: Percentage only -
n_percent_missing
: Count (Percentage) with missing value reporting
Clinical Applications
# Comprehensive continuous variable summaries
enhancedtables(
data = histopathology,
vars = c("Age", "OverallTime"),
stats_continuous = "all",
decimal_places = 2
)
# Categorical variables with missing value transparency
enhancedtables(
data = histopathology,
vars = c("Sex", "Race", "Grade_Level"),
stats_categorical = "n_percent_missing",
missing_handling = "show"
)
Statistical Testing and P-values
Automated statistical testing with appropriate test selection:
Test Types
-
auto
: Automatic test selection based on data characteristics -
parametric
: Parametric tests (t-test, ANOVA) -
nonparametric
: Non-parametric tests (Wilcoxon, Kruskal-Wallis) -
categorical
: Chi-square and Fisher’s exact tests
Statistical Features
# Automatic test selection with p-values
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "Grade_Level", "LVI"),
group_var = "Mortality5yr",
include_pvalues = TRUE,
test_type = "auto",
confidence_level = 0.95,
highlight_significant = TRUE
)
# Non-parametric analysis for skewed data
enhancedtables(
data = histopathology,
vars = c("OverallTime", "Age"),
group_var = "Group",
include_pvalues = TRUE,
test_type = "nonparametric",
stats_continuous = "median_iqr"
)
Export and Reporting Options
Publication-Ready Outputs
HTML Tables for Web Reports
# Interactive HTML table for web reports
enhancedtables(
data = histopathology,
vars = c("Sex", "Age", "Grade_Level", "LVI", "PNI"),
group_var = "Group",
export_format = "html",
table_theme = "modern",
stripe_rows = TRUE,
highlight_significant = TRUE
)
Word Document Integration
# Word-compatible formatting for manuscripts
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "TStage", "Grade_Level", "Outcome"),
group_var = "Group",
export_format = "word",
table_theme = "publication",
font_size = "small",
table_width = "full"
)
LaTeX for Academic Publishing
# LaTeX output for academic journals
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "Grade_Level", "LVI"),
table_type = "tableone",
export_format = "latex",
table_theme = "journal",
decimal_places = 1
)
Missing Value Handling
Comprehensive missing value handling strategies:
Missing Value Options
-
show
: Display missing values transparently -
hide
: Hide missing values from display -
exclude
: Exclude cases with missing values -
category
: Treat missing as a separate category
Clinical Applications
# Transparent missing value reporting
enhancedtables(
data = histopathology,
vars = c("Race", "Smoker", "BMI"),
missing_handling = "show",
stats_categorical = "n_percent_missing",
show_footnotes = TRUE
)
# Complete case analysis
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "Grade_Level"),
group_var = "Group",
missing_handling = "exclude",
include_pvalues = TRUE
)
Best Practices for Clinical Research
Design Recommendations
Variable Selection
- Primary Variables: Focus on clinically meaningful characteristics
- Grouping Variables: Select appropriate stratification variables
- Sample Size: Ensure adequate representation in each group
Quality Assurance
Data Validation
# Pre-analysis data quality check
summary(histopathology[c("Group", "Age", "Sex", "Grade_Level")])
# Enhanced table with validation
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "Grade_Level", "LVI"),
group_var = "Group",
missing_handling = "show",
show_interpretation = TRUE,
source_note = "Data validated: [Date] by [Analyst]"
)
Reproducibility Standards
# Document analysis parameters
analysis_parameters <- list(
dataset = "histopathology v1.0",
variables = c("Age", "Sex", "Grade_Level", "LVI", "PNI"),
grouping = "Group",
statistics = "mean_sd for continuous, n_percent for categorical",
missing_handling = "show",
significance_level = 0.05,
analysis_date = Sys.Date()
)
# Include parameters in table
enhancedtables(
data = histopathology,
vars = analysis_parameters$variables,
group_var = analysis_parameters$grouping,
stats_continuous = "mean_sd",
stats_categorical = "n_percent",
missing_handling = "show",
confidence_level = 0.95,
source_note = paste("Analysis parameters documented:",
analysis_parameters$analysis_date)
)
Advanced Features and Customization
Conditional Formatting and Highlighting
Significance Highlighting
# Highlight statistically significant results
enhancedtables(
data = histopathology,
vars = c("Age", "OverallTime", "Grade_Level", "LVI"),
group_var = "Mortality5yr",
include_pvalues = TRUE,
highlight_significant = TRUE,
confidence_level = 0.95,
table_theme = "clinical"
)
Custom Color Schemes
# Custom color scheme for group headers
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "Grade_Level"),
group_var = "Group",
table_theme = "modern",
group_colors = TRUE,
stripe_rows = TRUE,
font_size = "normal"
)
Multi-level Grouping and Stratification
Stratified Analysis
# Stratified analysis by multiple variables
enhancedtables(
data = histopathology,
vars = c("Age", "Grade_Level", "LVI", "PNI"),
group_var = "Group",
strata_var = "Sex",
table_type = "grouped",
include_pvalues = TRUE,
table_theme = "publication"
)
Complex Table Structures
# Complex multi-level table
enhancedtables(
data = histopathology,
vars = c("Age", "OverallTime", "TStage", "Grade_Level", "LVI", "PNI"),
group_var = "Group",
table_type = "clinical",
stats_continuous = "both",
stats_categorical = "n_percent",
table_theme = "journal",
decimal_places = 2,
show_footnotes = TRUE
)
Integration with Clinical Workflows
Electronic Medical Record (EMR) Data
EMR Data Processing
# Example with electronic medical record data structure
emr_data <- data.frame(
patient_id = 1:150,
age = rnorm(150, 62, 15),
sex = factor(sample(c("Male", "Female"), 150, replace = TRUE)),
diagnosis = factor(sample(c("Type 1", "Type 2", "Type 3"), 150, replace = TRUE)),
stage = factor(sample(c("Early", "Advanced"), 150, replace = TRUE)),
treatment = factor(sample(c("Surgery", "Chemotherapy", "Radiation", "Combined"), 150, replace = TRUE)),
response = factor(sample(c("Complete", "Partial", "No Response"), 150, replace = TRUE))
)
# Clinical research table
enhancedtables(
data = emr_data,
vars = c("age", "sex", "diagnosis", "stage"),
group_var = "treatment",
table_type = "clinical",
include_pvalues = TRUE,
table_theme = "clinical",
export_format = "word"
)
Multi-Center Studies
Standardized Reporting
# Multi-center study analysis function
multi_center_table <- function(data, center_var) {
centers <- unique(data[[center_var]])
for (center in centers) {
cat("\n=== Analysis for", center, "===\n")
center_data <- data[data[[center_var]] == center, ]
result <- enhancedtables(
data = center_data,
vars = c("age", "sex", "diagnosis", "stage"),
table_type = "summary",
table_theme = "clinical",
table_title = paste("Center:", center),
show_interpretation = FALSE
)
print(result)
}
}
Troubleshooting and Support
Common Issues and Solutions
Package Dependencies
# Check required packages
required_packages <- c("gt", "dplyr", "tidyr", "officer")
for (pkg in required_packages) {
if (!requireNamespace(pkg, quietly = TRUE)) {
message(paste("Installing missing package:", pkg))
install.packages(pkg)
}
}
Export Problems
# Fallback to HTML if specialized export fails
tryCatch({
enhancedtables(
data = histopathology,
vars = c("Age", "Sex"),
export_format = "word"
)
}, error = function(e) {
enhancedtables(
data = histopathology,
vars = c("Age", "Sex"),
export_format = "html" # Reliable fallback
)
})
Performance Optimization
Large Dataset Handling
# Optimize for large datasets
large_data_table <- function(data, max_vars = 10) {
# Limit variables for performance
selected_vars <- names(data)[1:min(max_vars, ncol(data))]
enhancedtables(
data = data,
vars = selected_vars,
table_type = "summary",
table_theme = "minimal",
show_interpretation = FALSE
)
}
Memory Management
# Memory-efficient processing
enhancedtables(
data = histopathology,
vars = c("Age", "Sex", "Grade_Level"),
table_theme = "minimal",
stripe_rows = FALSE,
show_footnotes = FALSE,
show_interpretation = FALSE
)
Getting Help
Documentation Resources
-
Function Help:
?enhancedtables
for parameter details -
gt Package Documentation:
help(package = "gt")
for advanced formatting - Clinical Examples: Additional vignettes for specific research contexts
Future Enhancements
Planned Features
Conclusion
The enhanced tables functionality represents a significant advancement in clinical research reporting capabilities. By integrating the sophisticated gt package with ClinicoPath’s clinical focus, researchers gain access to:
- Professional Quality: Publication-ready tables that meet journal and regulatory standards
- Statistical Integration: Automated statistical summaries and hypothesis testing
- Clinical Optimization: Features designed specifically for medical research applications
- Export Flexibility: Multiple output formats for various publication needs
- Reproducible Research: Comprehensive documentation and parameter tracking
Key Benefits
- Enhanced Productivity: Automated table generation reduces manual formatting work
- Improved Quality: Professional appearance and statistical rigor
- Clinical Focus: Designed for medical research applications and standards
- Flexibility: Comprehensive customization options for different contexts
- Integration: Seamless workflow with ClinicoPath analysis ecosystem
Recommendations
- Start Simple: Begin with basic summary tables before exploring advanced features
- Validate Output: Compare with manual calculations during initial implementation
- Document Methods: Maintain detailed table generation logs for reproducibility
- Follow Standards: Adhere to journal and regulatory formatting requirements
- Stay Current: Monitor package updates for new features and improvements
Clinical Research Impact
Enhanced tables transform the way clinical researchers present their findings, providing: - Consistency: Standardized formatting across studies and publications - Efficiency: Reduced time from analysis to publication - Quality: Professional appearance that enhances credibility - Compliance: Adherence to regulatory and journal standards - Accessibility: Tables designed for broad accessibility and understanding
For optimal results in clinical research, combine the enhanced tables functionality with appropriate study design, comprehensive data validation, and careful interpretation of results within the clinical context. This approach ensures that tables not only look professional but also accurately communicate important clinical findings to the medical community.