The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

The advanced interactive data table for R. A modern, dependency-free
htmlwidgetthat turns any data frame into a fast, beautiful, explorable grid — with column analytics, a visual query builder, and one-click reproducible code.
library(ViewR)
viewdt(mtcars) # that's itviewdt() is what DT::datatable() would look
like if it were rebuilt today: every column header is a
micro-dashboard, every filter writes runnable
code, and the whole thing is a single portable HTML
file with zero JavaScript dependencies. It works in the RStudio
/ Positron Viewer, inside Shiny, in R Markdown / Quarto, or exported for
offline sharing.
DT |
reactable |
ViewR
viewdt() |
|
|---|---|---|---|
| Virtualized rendering of large data | ⚠️ | ✅ | ✅ |
| Kaggle-style column headers (badges, mini-histograms, missingness) | ❌ | ❌ | ✅ |
| Data Insights drawer (interactive histogram / Pareto) | ❌ | ❌ | ✅ |
| Visual query builder (AND/OR, type-aware) | ❌ | ❌ | ✅ |
| Reproducible code export (dplyr / base R / SQL) | ❌ | ❌ | ✅ |
| Column picker + global search | ⚠️ | ⚠️ | ✅ |
| Row pinning | ❌ | ❌ | ✅ |
| Light / dark / auto theme | ⚠️ | ⚠️ | ✅ |
| JS framework dependency | jQuery | React | none (vanilla JS) |
ViewR profiles every column in R — types, missingness, histogram bins, top categories — and ships a compact metadata payload to a lean renderer, instead of recomputing statistics in the browser.
=, <,
contains, is in, is NA, …) and a
searchable multi-select for categories. Live row/column counter.save_viewdt()
writes a self-contained offline HTML.# From CRAN (once published)
install.packages("ViewR")
# Development version
# install.packages("remotes")
remotes::install_github("itsmdivakaran/ViewR")library(ViewR)
# Open the explorer
viewdt(mtcars)
# Dark theme, hide a column, custom NA placeholder
viewdt(
iris,
options = viewdt_options(
theme = "dark",
hidden_columns = "Species",
na_string = "—"
)
)
# Export a portable, offline HTML report
save_viewdt(mtcars, "mtcars.html", open = TRUE)library(shiny); library(ViewR)
ui <- fluidPage(viewdtOutput("grid", height = "640px"))
server <- function(input, output, session)
output$grid <- renderViewdt(viewdt(mtcars))
shinyApp(ui, server)Just call viewdt(df) in a chunk — the widget renders
inline in the knitted HTML.
viewdt() APIviewdt(data, options = viewdt_options(), dataset_name = NULL, ...)Everything visual is controlled by viewdt_options():
| Option | Default | What it does |
|---|---|---|
theme |
"auto" |
"auto", "light", or
"dark" |
show_labels |
TRUE |
Inline variable labels in headers |
histograms |
TRUE |
Mini spark-histograms / category bars |
missing_bars |
TRUE |
Data-completeness bar per column |
type_badges |
TRUE |
Data-type badges |
insights |
TRUE |
Sliding Data Insights drawer |
query_builder |
TRUE |
Multi-condition visual filters |
column_picker |
TRUE |
Show/hide columns |
code_export |
TRUE |
dplyr / base R / SQL generator |
global_search |
TRUE |
Search-all-columns box |
na_string |
"NA" |
Missing-value placeholder |
hidden_columns |
NULL |
Columns hidden on first render |
See vignette("viewdt", package = "ViewR") for a full,
worked walk-through with live grids.
Build a filter in the UI, click Code, and copy any of:
# dplyr
mtcars %>% filter(cyl == 6, mpg > 20) %>% select(mpg, cyl, hp)
# base R
mtcars[mtcars$cyl == 6 & mtcars$mpg > 20, c("mpg", "cyl", "hp")]-- SQL
SELECT mpg, cyl, hp FROM mtcars WHERE cyl = 6 AND mpg > 20;ViewR() gadgetThe original Shiny-gadget viewer/editor is still here for in-session
work — filtering, multi-column sort, an Excel-like editor
(rhandsontable), find-and-replace, and live
dplyr code:
new_iris <- ViewR(iris, edit = TRUE) # returns the edited data on DoneSee ?ViewR and
vignette("ViewR-intro", package = "ViewR").
MIT © 2024 Mahesh Divakaran
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.