Exports a dataset to an Excel file with both raw data and a generated pivot table.
Usage
pivot_table_with_filter(
data,
filter = NULL,
rows = NULL,
cols = NULL,
data_fields = "Value",
raw_sheet_name = "RawData",
pivot_sheet_name = "PivotTable",
dims = "A4",
export_table = FALSE,
output_path = NULL,
workbook_name = "GTAP_PivotTable.xlsx"
)
Arguments
- data
Data frame. The dataset to be exported.
- filter
Character vector (optional). Columns to be used as filter fields in the pivot table.
- rows
Character vector (optional). Columns to be used as row fields in the pivot table.
- cols
Character vector (optional). Columns to be used as column fields in the pivot table.
- data_fields
Character. The data field(s) to be summarized in the pivot table (default:
"Value"
).- raw_sheet_name
Character. Name of the sheet containing raw data (default:
"RawData"
).- pivot_sheet_name
Character. Name of the sheet containing the pivot table (default:
"PivotTable"
).- dims
Character. Cell reference where the pivot table starts (default:
"A3"
).- export_table
Logical. Whether to save the Excel file (default:
TRUE
).- output_path
Character. Directory where the file should be saved (default: current working directory).
- workbook_name
Character. Name of the output Excel file (default:
"GTAP_PivotTable.xlsx"
).
Details
This function creates an Excel workbook with:
A raw data sheet (
raw_sheet_name
) containing the provided dataset.A pivot table sheet (
pivot_sheet_name
) generated based on specified row, column, and data fields.
If export = TRUE
, the function saves the workbook to the specified output_path
.
Examples
# \donttest{
# Load Data:
input_path <- system.file("extdata/in", package = "GTAPViz")
sl4.plot.data <- readRDS(file.path(input_path, "sl4.plot.data.rds"))
data_pivot_table <- sl4.plot.data[["REG"]]
# Generate Pivot Table with Filter
# Only use columns that exist in the data
pivot_table_with_filter(
# === Input & Filter Settings ===
data = data_pivot_table,
filter = c("Variable", "Unit"), # Allow filtering by variable type and unit
# === Pivot Structure ===
rows = c("Region"), # Rows: Regions (removed "Sector" which doesn't exist)
cols = c("Experiment"), # Columns: Experiments
data_fields = "Value", # Values to be aggregated
# === Sheet & Layout ===
raw_sheet_name = "Raw_Data", # Sheet name for raw data
pivot_sheet_name = "Sector_Pivot", # Sheet name for pivot table
dims = "A3", # Starting cell for pivot table
# === Export Options ===
export_table = FALSE,
output_path = NULL,
workbook_name = "Sectoral_Impact_Analysis.xlsx"
)
#> A Workbook object.
#>
#> Worksheets:
#> Sheets: Raw_Data, Sector_Pivot
#> Write order: 1, 2
# }