dtsmartr

An interactive, ultra-responsive, and high-fidelity data explorer widget for clinical programming (CDISC SDTM/ADaM) and general R data frames, built on a virtualized React grid backend.

R-CMD-check CRAN Status Badge License: MIT

dtsmartr is a premium, Kaggle-style data browser package for R. Leveraging a virtualized React rendering engine and a custom Base64 Apache Arrow IPC serialization pipeline, it delivers instantaneous rendering and fluid scrolling on tables containing millions of cellsβ€”directly inside the RStudio/Positron Viewer pane, embedded in Shiny, or exported as offline-capable HTML reports.


🌐 Documentation & Live Website

For step-by-step installation guides, API reference sheets, and feature articles, visit our official documentation site: πŸ‘‰ https://wagh-nikhil.github.io/dtsmartr/


🏎️ Dual-Engine Profiles: Choose Your Mode

Depending on the scale of your dataset and analytical needs, dtsmartr offers two tailored frontend engines:

Dual Engine Profile Selection

1. dtsmartr() β€” Full Analytics Mode (Default)

Enables the complete suite of analytical features, designed for deep exploration: * Micro-Dashboard Headers: Live histograms, stacked categorical bars, and data completeness progress bars. * Insights Drawer: Interactive SVG distribution histograms and Pareto charts. * Query Builder: Multi-rule, nested Boolean logic filters (AND/OR). * Code Export: Code generation for Base R, dplyr, SQL, and Apache Arrow.

2. dtsmart_lite() β€” Minimalist Viewer Mode

Forces a compact, ultra-clean grid layout optimized for raw scrolling performance and minimal memory footprint: * Flat Headers: Hides distributions, progress bars, and stats from column headers to maximize visible grid space. * Analytics Disabled: Hides the Advanced Query Builder, Insights Drawer, and Code Export controls. * High Refresh Rate: Streamlines the DOM footprint to ensure maximum scrolling velocity on huge data structures.


🎨 Comprehensive Feature Matrix

πŸš€ Premium UX & UI Enhancements (v0.4.0)

πŸ†• Grid Layout Enhancements (v0.3.0)


πŸ“Š Core Data Engine Features


πŸ’» Code Export & Ingestion


βš™οΈ High-Performance Architecture Roadmap

Our serialization protocol is engineered for speed. In version 0.3.0, dtsmartr transitioned to a high-speed Apache Arrow IPC Binary Stream Serialization pipeline:

[R Data Frame] 
    β”‚
    β–Ό  (Apache Arrow C++ Engine)
[Arrow RecordBatch Stream]
    β”‚
    β–Ό  (base64enc C-Library)
[Base64 Arrow IPC Payload] ---> Written directly into the HTMLWidget structure
                                    β”‚
                                    β–Ό (React App on Page Load)
                                [Uint8Array Decode]
                                    β”‚
                                    β–Ό (apache-arrow JS Library)
                                [Arrow Columnar Table]
                                    β”‚
                                    β–Ό
                                [Virtualized Grid View]

πŸ“¦ Installation & Quick Start

Installation

Install the package directly from GitHub using remotes:

# Install remotes if needed
if (!requireNamespace("remotes", quietly = TRUE)) {
  install.packages("remotes")
}

# Install the latest dev version
remotes::install_github("wagh-nikhil/dtsmartr")

Quick Start

Fire up the grid on standard datasets in one line:

library(dtsmartr)

# 1. Full Analytics Mode (Default)
dtsmartr(mtcars)

# 2. Minimalist Viewer Mode (Clean, compact layout)
dtsmart_lite(iris, title = "Iris Compact View")

# 3. Custom configurations (Dark theme, pre-hidden variables)
dtsmartr(
  data = mtcars,
  options = dtsmartr_options(
    theme = "dark",
    hidden_columns = c("cyl", "hp"),
    na_string = "Missing"
  )
)

πŸ“„ License

Licensed under the MIT License.

mirror server hosted at Truenetwork, Russian Federation.