Generic Explorer
generic-explorer.RmdGeneric explorer mode is for arbitrary tabular data that does not use
the template dashboard schema. Drop a .csv or
.rds data frame into data/ and vizRd creates
an overview first.
Shipped generic data
The example project includes generic_sales.csv:
example_path <- system.file("extdata", "example_project", package = "vizRd")
generic_path <- file.path(example_path, "data", "generic_sales.csv")
read.csv(generic_path, nrows = 3, check.names = FALSE)
#> date region product units revenue discounted notes
#> 1 2025-01-01 North Starter 12 240.0 FALSE Launch week
#> 2 2025-01-02 South Starter 8 160.0 TRUE Intro discount
#> 3 2025-01-03 East Pro 5 375.5 FALSE Channel partnerThis file has dates, regions, products, numeric measures, logical-like values, and missing notes. It is intentionally not template-shaped.
Role inference
Role inference classifies columns as numeric, categorical, date/time, logical, text, or unknown. The explorer preserves raw column names and records labels, confidence, reasons, missingness, distinct counts, and deterministic preview rows.
This role inference step is deterministic so the same
generic_sales.csv columns receive the same roles across
sessions.
ds <- vizRd::load_dataset("generic_sales", example_path)
ds$schema$type
#> [1] "explorer"
ds$explorer$columns[, c("name", "role", "confidence", "reason")]
#> name role confidence reason
#> 1 date datetime high Column uses a date/time class.
#> 2 region categorical medium Text has low cardinality for grouping.
#> 3 product categorical medium Text has low cardinality for grouping.
#> 4 units numeric high Column uses a numeric type.
#> 5 revenue numeric high Column uses a numeric type.
#> 6 discounted logical high Column uses logical TRUE/FALSE values.
#> 7 notes categorical medium Text has low cardinality for grouping.Overview first
Explorer datasets open on an overview so users can inspect row counts, column roles, warnings, and a preview before choosing a chart. Empty, zero-column, large, or high-cardinality data is reported through structured warnings rather than blank output.
Generic chart families
Chart eligibility is strict and column-driven. The app enables charts when the selected columns satisfy each contract and gives compact invalid reasons when they do not.
Common labels include:
- Histogram for one numeric column
- Count for categorical frequency
- Scatter for two numeric columns
- Aggregate for numeric-by-category summaries
- Time series for date/time trends
- Boxplot for numeric-by-category comparison
- Missingness for missing-value overview
For documentation tests and users scanning quickly, the main pairwise and date families are scatter and timeseries-style trends.
Scatter and time series charts use deterministic limits for large data so CRAN examples and tests stay reproducible; the same eligibility path covers timeseries-style date trends.