## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----basic_example------------------------------------------------------------ library(TidyPanel) # Create a minimal example with financial multiplier notation tmp <- tempfile(fileext = ".xlsx") df_raw <- data.frame( Category = c("Revenue", "Cost"), `FY2022` = c("1.5M", "800k"), `FY2023` = c("2.0M", "950k"), check.names = FALSE ) writexl::write_xlsx(df_raw, tmp) # Parse and auto-pivot the wide table to long format result <- read_messy_panel(tmp, auto_pivot = TRUE) head(result) unlink(tmp) ## ----vars_example------------------------------------------------------------- # Demonstrate variable name standardization df_messy <- data.frame( `GVKEY` = c("001", "002"), `Total Revenue ($)` = c(100, 200), `My Custom Col!` = c("A", "B"), check.names = FALSE ) df_clean <- clean_variable_names(df_messy) colnames(df_clean) ## ----audit_example------------------------------------------------------------ # Create a table with a mid-table subtotal row (to be amputated) tmp2 <- tempfile(fileext = ".xlsx") df_with_subtotal <- data.frame( Item = c("Product A", "Product B", "Total", "Product C"), Revenue = c("100", "200", "300", "150") ) writexl::write_xlsx(df_with_subtotal, tmp2) # Parse with audit log enabled result <- read_messy_panel(tmp2, return_audit = TRUE) # View the cleaned data (Total row should be amputated) head(result$data) # View what the engine did print(result$audit) unlink(tmp2)